9

C / c ++用のロックフリーメモリアロケータを使った良い経験はありますか?

Boostとlibcdsを調べましたが、どのライブラリを使用するかわかりません。

背景、私は「ロックフリー、待機フリー、ノンブロッキング、ダイナミックパーフェクトハッシュ、拡張可能、並行ハッシュテーブル」を研究してきました。*はい、それは大げさなように聞こえますが、それはいわゆるものです。

とにかく、私はそれをマルチスレッドテストを開始する準備をしています。新しいノードが追加されたときに、メモリ割り当てを設定するための最良の方法を見つける必要があります。(そして、ポインターの配列を割り当てる必要がある場合)

では、ロックフリーのメモリ割り当てについて良い経験をしている人はいますか?

4

3 に答える 3

5

きれいなグラフは、この実装が優れていることを示しています。

http://locklessinc.com/

2011年11月14日からオープンソースのGPL3.0です:)

于 2011-03-25T04:55:39.973 に答える
2

ストリームフローもあります。私はそれを自分で使ったことがありません。私はいくつかの出版物を読んでいるときにそれに遭遇しました。

于 2011-03-25T06:51:12.367 に答える
0

tbbからアロケータを試してみませんか?それがどれほど「ロックフリー」であるかはわかりませんが、真のロックフリーアロケータ*、少なくともスレッド/コア間で機能するもの(tcmallocなど)が見つかるとは思えません。

*実際に数か月前に作成しようとしましたが、少なくとも私の観点からは、ロックレスにすることにはいくつかの欠点があります。私はnedmallocのようにTLSアリーナにあまり熱心ではありませんでした。結局、チャンクビンが空のときにのみロックするハイブリッドのちょっとしたアロケータになりました。

于 2011-03-25T05:53:04.217 に答える