GCC のアトミック ビルトインを使用して shared をインクリメントしていvolatile int
ます。私がやりたいのは値をインクリメントすることだけで、戻り値は気にしません。私はこれを好むべきですか、fetch_and_add
それともadd_and_fetch
これを好むべきですか?ドキュメントには、一方が他方よりもパフォーマンス上の利点があることを示唆するものは何もありません。それは本当に問題ではありませんか?
または、実際に値をアトミックに読み取る必要がないためvolatile int
、戻り値を実際に読み取らないため、 a をインクリメントするより良い方法はありますか?
これは明らかにアーキテクチャに依存するため、x64 を使用していると想定できます。それが違いを生む場合、私は特にAMD Opteron CPUを使用しています。