-- 作者 谢恩铭 转载请注明出处
源码项目编译ccache配置
一般来说,我们在编译大型项目时,总会用到make之类的命令。比如我们公司目前的Android项目代码,已经很大了,有几百万行的代码量。
底层是C语言,Perl,C++,上层是Java。这样的项目每一次编译都需要耗费不少时间。
如何才能加快编译时间呢?今天来推荐一个很好用的工具:ccache。
ccache(“compiler cache”的缩写,就是英语“编译器缓存”的意思)工具会高速缓存编译生成的信息,并在编译的特定部分使用高速缓存的信息。
比如它会缓存头文件,这样就节省了通常使用 cpp 解析这些信息所需要的时间。
不是真正去读取、解释其内容,ccache 只是将最终的文本拷贝到文件中,使得它可以立即被编译。
使用ccache可以大大加快编译速度:第一次编译速度会比较慢一些,但是一旦在第一次编译中ccache把一些中间文件拷贝到了缓存中,那之后的编译就会快得飞起,因为不需要再重新生成这些中间文件。
关于ccache很详细的解释和用法可以参考这篇文章。
《通过 ccache 改善协同构建时间》
我就不赘述了。只演示如何快速上手ccache。
以Debian这个Linux发行版(Ubuntu也属于此家族)为例:
安装
sudo apt-get install ccache
使用
ccache -s # 显示状态参数 (s是英语status的缩写,表示《状态》)
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带来的飞一般编译感觉吧。
我是谢恩铭,在巴黎奋斗的软件工程师。
热爱生活,喜欢游泳,略懂烹饪。
人生格言:「向着标杆直跑」
网友评论