8
我想使用一個高性能的通用分配器,如帶內存池的jemalloc
/tcmalloc
。有這樣的指導嗎?我不想用jemalloc
/tcmalloc
作爲malloc
的直接替代品。使用tcmalloc/jemalloc自定義內存池管理器
我有內存池,使用libarena
和雕刻一個大的內存區域(2GB)。我想創建固定大小的對象池,如gslice
在這個競技場說1 GB。 (如Bonwick板分配器)並且想要將其餘內存用於可變大小的通用分配。我想有jemalloc
/tcmalloc
使用這個內存區域。這可能嗎?任何想法如何我可以繼續?如果有一個替代圖書館,我想也聽說它。
祝你好運得到這個答案,我也真的想這個答案,請參閱我自己的http://stackoverflow.com/questions/23341587/malloc-like-function-using-custom-heap自己的問題。 – Vality
我爲我們的應用專門編寫了一個分配器。結果是一個真正漂亮的想法是將所有可能的分配減少到少量「量子」尺寸的概念。低於4k = 8字節,4k..16k = 16字節...最高可達64mb。我最終只有大約1000種不同的尺寸,一直到64 MB。由於浪費空間的大小是分配規模的函數,浪費的公羊很低。這允許每種尺寸的回收樁。一個免費只是一個推動,一個分配是一個流行音樂,除非這個音量是空的。 – johnnycrash
我沒有給你答案,但你可以在這個jemalloc線程上找到一些有用的信息,關於在這裏爲自定義分配器分配內存作爲額外的領域:http://www.canonware.com/pipermail/jemalloc-discuss/2015 -January/000988.html – acanaday