TCMalloc入門

TCMalloc(Thread-Caching Malloc)與標(biāo)準(zhǔn)glibc庫的malloc實(shí)現(xiàn)一樣的功能,但是TCMalloc在效率和速度效率都比標(biāo)準(zhǔn)malloc高很多坤检。TCMalloc是google-perftools工具中的一個(gè)叹谁,這個(gè)工具都是開源的饲梭,以源碼形式發(fā)布。如果覺得自己維護(hù)一個(gè)內(nèi)存分配器麻煩的話焰檩,可以考慮將TCMalloc靜態(tài)庫連接到你的程序中憔涉。使用的時(shí)候和glibc中的malloc調(diào)用方式一樣一樣的。你需要做的只是把TCMalloc的動(dòng)態(tài)庫或者靜態(tài)庫連接進(jìn)你的程序中析苫,你就可以獲得一個(gè)高效兜叨,快速,安全的內(nèi)存分配器衩侥。好了廢話不多說国旷,如果想知道更多關(guān)于TCMalloc的信息,看這里茫死。下面是在Linux下編譯TCMalloc的方法跪但,以及使用方法:

  • [x] (1).可以先到http://code.google.com/p/google-perftools/下載源碼包,在Linux下可以輸入命令:wget http://google-perftools.googlecode.com/files/google-perftools-1.4.tar.gz 進(jìn)行下載峦萎。
  • [x] (2).下載完成后屡久,輸入命令:tar zxvf google-perftools-1.4.tar.gz 進(jìn)行解壓;并輸入命令:cd google-perftools-1.4進(jìn)入源碼目錄中骨杂。
  • [x] (3).輸入命令:./configure 可安裝全部google-perftools的組件涂身,包括TCMalloc、heap-checker搓蚪、heap-profiler和cpu-profiler共4個(gè)組件蛤售。但是我們這里只需要TCMalloc所以我們可以輸入命令:./configure --prefix=/usr/local --disable-cpu-profiler --disable-heap-profiler --disable-heap-checker --disable-debugalloc --enable-minimal 只安裝TCMalloc。--prefix=/usr/local是指定安裝目錄的妒潭,如果不指定則默認(rèn)安裝到/usr/local/lib/下面悴能。
  • [x] (4).輸入命令:make && make install進(jìn)行編譯、安裝雳灾。如果要使用最小安裝漠酿,則只需在第(3)部中指定一個(gè)臨時(shí)目錄安裝,然后將生成的.so和.a庫文件復(fù)制到/usr/local/lib目錄下谎亩,然后執(zhí)行如下幾條建立符號(hào)鏈接的命令即可:(靜態(tài)庫不需要符號(hào)鏈接炒嘲,復(fù)制的時(shí)候只復(fù)制文件宇姚,不復(fù)制符號(hào)鏈接文件)
ln -s /usr/local/lib/libtcmalloc_minimal.so.0.0.0 /usr/local/lib/libtcmalloc.so
ln -s /usr/local/lib/libtcmalloc_minimal.so.0.0.0 /usr/local/lib/libtcmalloc.so.0
ln -s /usr/local/lib/libtcmalloc_minimal.so.0.0.0 /usr/local/lib/libtcmalloc.so.0.0.0
  • [x] (5).在編譯自己程序的時(shí)候,在編譯選項(xiàng)的最后加入 /usr/local/lib/libtcmalloc_minimal.a 即可鏈接靜態(tài)庫夫凸。如果用動(dòng)態(tài)庫則在編譯選項(xiàng)這里插入 -L/usr/local/lib -ltcmalloc_minimal 即可浑劳。

最后編譯你的程序,你就可以使用TCMalloc了夭拌,你的代碼一句都不需要修改魔熏。動(dòng)態(tài)庫有沒有使用成功可使用這個(gè)命令:lsof -n | grep tcmalloc。靜態(tài)庫則沒有辦法查看鸽扁。
完美之道蒜绽,不在于無可增加,而在于無可減少桶现。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末躲雅,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子巩那,更是在濱河造成了極大的恐慌吏夯,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件即横,死亡現(xiàn)場離奇詭異,居然都是意外死亡裆赵,警方通過查閱死者的電腦和手機(jī)东囚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來战授,“玉大人页藻,你說我怎么就攤上這事≈怖迹” “怎么了份帐?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長楣导。 經(jīng)常有香客問我废境,道長,這世上最難降的妖魔是什么筒繁? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任噩凹,我火速辦了婚禮,結(jié)果婚禮上毡咏,老公的妹妹穿的比我還像新娘驮宴。我一直安慰自己,他們只是感情好呕缭,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布堵泽。 她就那樣靜靜地躺著修己,像睡著了一般。 火紅的嫁衣襯著肌膚如雪迎罗。 梳的紋絲不亂的頭發(fā)上睬愤,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天,我揣著相機(jī)與錄音佳谦,去河邊找鬼戴涝。 笑死,一個(gè)胖子當(dāng)著我的面吹牛钻蔑,可吹牛的內(nèi)容都是我干的啥刻。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼咪笑,長吁一口氣:“原來是場噩夢啊……” “哼可帽!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起窗怒,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤映跟,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后扬虚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體努隙,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年辜昵,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了荸镊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡堪置,死狀恐怖躬存,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情舀锨,我是刑警寧澤岭洲,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站坎匿,受9級(jí)特大地震影響盾剩,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜碑诉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一彪腔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧进栽,春花似錦德挣、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽番挺。三九已至,卻和暖如春屯掖,著一層夾襖步出監(jiān)牢的瞬間玄柏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工贴铜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留粪摘,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓绍坝,卻偏偏與公主長得像徘意,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子轩褐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內(nèi)容