-- 作者 謝恩銘 轉(zhuǎn)載請注明出處
源碼項目編譯ccache配置
一般來說,我們在編譯大型項目時斑粱,總會用到make之類的命令弃揽。比如我們公司目前的Android項目代碼,已經(jīng)很大了珊佣,有幾百萬行的代碼量蹋宦。
底層是C語言,Perl咒锻,C++,上層是Java守屉。這樣的項目每一次編譯都需要耗費不少時間惑艇。
如何才能加快編譯時間呢?今天來推薦一個很好用的工具:ccache拇泛。
ccache(“compiler cache”的縮寫滨巴,就是英語“編譯器緩存”的意思)工具會高速緩存編譯生成的信息,并在編譯的特定部分使用高速緩存的信息俺叭。
比如它會緩存頭文件恭取,這樣就節(jié)省了通常使用 cpp 解析這些信息所需要的時間。
不是真正去讀取熄守、解釋其內(nèi)容蜈垮,ccache 只是將最終的文本拷貝到文件中耗跛,使得它可以立即被編譯。
使用ccache可以大大加快編譯速度:第一次編譯速度會比較慢一些攒发,但是一旦在第一次編譯中ccache把一些中間文件拷貝到了緩存中调塌,那之后的編譯就會快得飛起,因為不需要再重新生成這些中間文件惠猿。
關(guān)于ccache很詳細的解釋和用法可以參考這篇文章羔砾。
《通過 ccache 改善協(xié)同構(gòu)建時間》
我就不贅述了。只演示如何快速上手ccache偶妖。
以Debian這個Linux發(fā)行版(Ubuntu也屬于此家族)為例:
安裝
sudo apt-get install ccache
使用
ccache -s # 顯示狀態(tài)參數(shù) (s是英語status的縮寫姜凄,表示《狀態(tài)》)
ccache -C # 清除緩存(C是大寫的,是英語Clear的縮寫趾访,表示《清除》)
配置
- 編輯 .bashrc 文件
vim ~/.bashrc
- 在其中加入以下三行
export NDK_CCACHE = ccache
export CCACHE_DIR = ~/.ccache # (目錄隨便指定)
export PATH = /usr/lib/ccache:$PATH
- source命令使修改立即生效
source ~/.bashrc
- 分配緩存大小
ccache -M 2G #(分配2G緩存)
好了檀葛,從此以后盡享ccache帶來的飛一般編譯感覺吧。
我是謝恩銘腹缩,在巴黎奮斗的軟件工程師屿聋。
熱愛生活,喜歡游泳藏鹊,略懂烹飪润讥。
人生格言:「向著標桿直跑」