アカウント名:
パスワード:
馬鹿なストーリー採用してんなよアホか
「ふーん、ちなみに ++x と x++ の比較と、*++x と *x++ の比較では事情が違うよね?」と振って、相手が反応するかどうかで話を聞く価値があるかどうか値踏みできそうな気がする。でも、組み込みとかデバドラとかのレイヤのコーディングしてる人とか、HPCの人とか以外は、パフォーマンスのボトルネックのありかがよそにあるので、こんな些細な話はそもそもあまり気にしないのではないのかな。
#2800159が無能なのはわかった。
ガンダム/エヴァ/ボトムズのコピペを思い出した
> いきなり3を代入するんじゃなくて、*xを徐々に0~3まで増やして貰わないと困る、
困るような使い方をしてる時はvolatile を付けましょう。「volatile int* x」なら大丈夫。INC1は毎回加算後にメモリ書き込みされます。
#組み込み系のコードで、割り込みルーチンと本ルーチンで同じ変数を参照するのはよくある話。#で、「正常動作しないので最適化はオフにしておいてください」とかいう説明してるのもたまに見かけたりして…#ちゃんとvolatile付けろよとツッコミを入れたくなります。
C++だと、volatileだとまだ効きが弱くて、「memory_orderほげほげ<int>」とかが必要だったかと。詳しくは>「メモリモデル」[検索]
もちろん、mutexなどのスレッド同期機構に頼っても実現可能ですが、それよりも、メモリモデルに従ってメモリバリアを張った実装の方が一般に動作は速くなります。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
にわかな奴ほど語りたがる -- あるハッカー
どのコンパイラではどういうコードに落ちてどのプロセッサではどう実行されるみたいな話がないと無意味 (スコア:-1)
馬鹿なストーリー採用してんなよアホか
Re:どのコンパイラではどういうコードに落ちてどのプロセッサではどう実行されるみたいな話がないと無意 (スコア:1)
「ふーん、ちなみに ++x と x++ の比較と、*++x と *x++ の比較では事情が違うよね?」
と振って、相手が反応するかどうかで話を聞く価値があるかどうか値踏みできそうな気がする。
でも、組み込みとかデバドラとかのレイヤのコーディングしてる人とか、HPCの人とか以外は、パフォーマンスのボトルネックのありかがよそにあるので、こんな些細な話はそもそもあまり気にしないのではないのかな。
Re: (スコア:0)
#2800159が無能なのはわかった。
Re: (スコア:0)
ガンダム/エヴァ/ボトムズのコピペを思い出した
Re:どのコンパイラではどういうコードに落ちてどのプロセッサではどう実行されるみたいな話がないと無意 (スコア:1)
> いきなり3を代入するんじゃなくて、*xを徐々に0~3まで増やして貰わないと困る、
困るような使い方をしてる時はvolatile を付けましょう。
「volatile int* x」なら大丈夫。INC1は毎回加算後にメモリ書き込みされます。
#組み込み系のコードで、割り込みルーチンと本ルーチンで同じ変数を参照するのはよくある話。
#で、「正常動作しないので最適化はオフにしておいてください」とかいう説明してるのもたまに見かけたりして…
#ちゃんとvolatile付けろよとツッコミを入れたくなります。
Re: (スコア:0)
C++だと、volatileだとまだ効きが弱くて、「memory_orderほげほげ<int>」とかが必要だったかと。詳しくは>「メモリモデル」[検索]
Re: (スコア:0)
Re: (スコア:0)
もちろん、mutexなどのスレッド同期機構に頼っても実現可能ですが、
それよりも、メモリモデルに従ってメモリバリアを張った実装の方が一般に動作は速くなります。