エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント1件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
開発メモ: アトミック演算の性能
GCC拡張のロックフリーなアトミック演算機能と、自分でロックしてアトミックに演算するのとではどれくら... GCC拡張のロックフリーなアトミック演算機能と、自分でロックしてアトミックに演算するのとではどれくらい違うかを実験してみた。 TCやKCでのユースケース TCやKCのデータベースオブジェクトでは、ファイルサイズやレコード数をメタデータとして保持している。それらの更新(主に加算)をする操作は頻繁に行われるので、なるべく処理効率を上げたい。 いわずもがな、変数の更新を行うという操作をミクロ視点で見ると、既存の値をメモリから読み出して、その値に対して演算を行って、それをメモリに書き戻す、という3ステップからなる。普通に「+=」演算子などを使うとそれら一連の操作群がアトミックに行われる保証はないので、mutexなどを使ったクリティカルセクションで一連の操作群を包むのが一般的である。 しかし、変数の値を加算するという操作ごときにわざわざロックのオーバーヘッドが伴うのは嫌な感じである。ところで、上述の