アカウント名:
パスワード:
> コード中の多重ループの個所において、ループの順序を入れ替える> ことによってメモリアクセスの高速化などが期待できるようだ。
「ね、こういう順序でアクセスするようにコード書かなきゃ遅くなるでしょ」っていう実例見せて授業してる私の立場は?
今時はマシになった気がするけど、デバイスバシバシ叩く物だと下手な最適化するとご丁寧に叩く順番を変えたりキャッシュに入れたままで後の処理をしようとしてくれるものだから最適化やれませんよ。# そのために__volatile__とか#pragmaがあるんだろ!と言われればそれまでですが。
そういうのは局地的に最適化禁止してやればいいのとどうしょうもない所はインラインアセンブラで対処すればいいんでしょうけど、コンパイラの挙動をきちんと把握するのは骨が折れる。と言うかコーディング規則の人がそういうあたり気をつかうのを嫌って一律にあーだこーだと言い出すから(以下自粛
# しかし、どれが使って大丈夫かくらいは覚えといて損はないのかも
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
開いた括弧は必ず閉じる -- あるプログラマー
教育者泣かせ (スコア:3, おもしろおかしい)
> コード中の多重ループの個所において、ループの順序を入れ替える
> ことによってメモリアクセスの高速化などが期待できるようだ。
「ね、こういう順序でアクセスするようにコード書かなきゃ遅くなるでしょ」
っていう実例見せて授業してる私の立場は?
Re: (スコア:1)
Re:教育者泣かせ (スコア:1)
今時はマシになった気がするけど、デバイスバシバシ叩く物だと下手な最適化するとご丁寧に叩く順番を変えたりキャッシュに入れたままで後の処理をしようとしてくれるものだから最適化やれませんよ。
# そのために__volatile__とか#pragmaがあるんだろ!と言われればそれまでですが。
そういうのは局地的に最適化禁止してやればいいのとどうしょうもない所はインラインアセンブラで対処すればいいんでしょうけど、コンパイラの挙動をきちんと把握するのは骨が折れる。と言うかコーディング規則の人がそういうあたり気をつかうのを嫌って一律にあーだこーだと言い出すから(以下自粛
# しかし、どれが使って大丈夫かくらいは覚えといて損はないのかも
Re: (スコア:0)
> ご丁寧に叩く順番を変えたりキャッシュに入れたままで後の処理をしようとしてくれるものだから
これが言語仕様に従った正しい動作ですから、ちゃんとvolatile入れて式の評価順序は手で強制してくださあい。
そうしなければ「間違ったプログラムがたまたま正しく動く」状態のままです。