私たちは非常に遅延に敏感なアプリケーションを構築しています。私たちの完全なアプリケーションは、ロック以外のプロセスで約 2500 クロック サイクルかかり、2 つのロックを取得して解放する必要があります。99.98% の確率で競合が発生しないことを期待しています。pthread のロックとロック解除を使用するには、さらに約 1800 サイクルかかります。より高速な定式化のヒントはありますか? アトミック操作に基づいてロックを作成するのは難しい場合があります。可能であれば、Linux ヘッダーまたはブースト ヘッダーのような標準コードを使用することをお勧めします。
2 に答える
2
提案として、Intel の Threading Building Blocks ライブラリspin_mutex
から試してください。オープンソース (GPLv2) であるため、実装の詳細についてソースを調べることもできます。
また、これを見ることもできます:私のスピンロックの実装は正しく、最適ですか?
于 2011-07-20T20:59:03.527 に答える
1
あまりにも多くのオプションはありません。Pthread ライブラリは可能な限り一般的です。より具体的にすると、それを使用する人が少なくなるため、誰もが独自に実装して混乱を招くことになります。
申し訳ありませんが、特に要件に合ったものを独自に作成する必要があります。これを読むことをお勧めします: http://kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook.html
自分で読んでいます。
于 2012-06-19T22:58:48.923 に答える