任何人都可以使用C/C++的無鎖內存分配器嗎?C:無鎖內存分配庫
我已經研究了boost和libcds,但我不確定要使用哪個庫。我一直在研究一個「無鎖,無等待,非阻塞,動態完美哈希,可擴展,併發哈希表」。 *是的,我知道這聽起來很自命,但那就是它的名字。無論如何,我正準備開始多線程測試,並且我需要設計添加新節點時設置內存分配的最佳方式。 (並且當我需要分配指針數組時)
那麼有沒有人有任何與鎖定可用內存分配良好的經驗?
任何人都可以使用C/C++的無鎖內存分配器嗎?C:無鎖內存分配庫
我已經研究了boost和libcds,但我不確定要使用哪個庫。我一直在研究一個「無鎖,無等待,非阻塞,動態完美哈希,可擴展,併發哈希表」。 *是的,我知道這聽起來很自命,但那就是它的名字。無論如何,我正準備開始多線程測試,並且我需要設計添加新節點時設置內存分配的最佳方式。 (並且當我需要分配指針數組時)
那麼有沒有人有任何與鎖定可用內存分配良好的經驗?
他們發佈了性能基準測試代碼,這很好,因爲我想查看一個更好的計時工具,然後是標準time.h – 2011-03-25 05:20:10
@Feldman,您可以從圖表中看到替代方案:來自Google nee的'tcmalloc''jemalloc' ,以及glibc的默認分配器,這些日子非常好。 – 2011-03-25 05:35:16
再次囤積失敗壯觀。我已經看到它已經推薦了很多次,但是每一個基準我都會在前面找到'jemalloc'和'tcmalloc'的地方。 – 2011-03-25 07:37:20
還有streamflow。我自己沒有用過;我在閱讀一些出版物時碰到了它。
不等待意味着無鎖,無鎖意味着非阻塞,而非阻塞意味着併發?有點多餘... – GManNickG 2011-03-25 05:03:46
我知道,但我的研究教授喜歡打所有的按鈕詞。 – 2011-03-25 05:14:00
您錯過了希望列表中的NUMA意識。如果您還想要併發,所有基本的分配器實現在NUMA硬件上都不太合適。 – 2011-03-25 06:10:57