`

android 4.3之后使用ccache提供编译速度

阅读更多

ccache(“compiler cache”的缩写)是一个编译器缓存,该工具会高速缓存编译生成的信息,并在编译的特定部分使用高速缓存的信息, 比如头文件,这样就节省了通常使用cpp解析这些信息所需要的时间。如果某头文件中包含对其他头文件的引用,ccache会用那个文件的 cpp-parsed版本来取代include声明。ccache只是将最终的文本拷贝到文件中,使得它可以立即被编译,而不是真正去读取、理解并解释其内容。ccache是以空间换取速度,ccache非常适合经常make clean(或删除out目录)后重新编译的情况。

配置方法如下:

1、在~/.bashrc中添加(或者/etc/profile文件中):

#ccache

export USE_CCACHE=1
export CCACHE_DIR=/<path_of_your_choice>/.ccache

        默认情况下cache(缓存)会保存在~/.ccache目录下,如果主目录位于NFS或其他非本地文件系统上, 设置cache目录位置:export CCACHE_DIR=<path-to-your-cache-directory>

注:配置.bashrc后注意source改文件,否则cache(缓存)会保存在~/.ccache目录下,而不是你设置的目录。

 2、使用android源码prebuilts目录下面的ccache工具初始化该文件夹

推荐的cache目录大小为50-100GB,在命令行执行以下命令:

prebuilt/linux-x86/ccache/ccache -M 50G

以上命令需要在你所下载的代码的根目录下面执行

     该设置会保存到CCACHE_DIR中,且该命令是长效的,不会因系统重启而失效。使用ccache第一次编译后能够明显提高make clean以后再次的编译速度。

 

3.查看ccahe使用情况

$ watch -n1 -d prebuilts/misc/linux-x86/ccache/ccache -s 

以上命令需要在你所下载的代码的根目录下面执行

备注:使用ccache之后,第一次编译会时间久一点,之后每次编译速度都会有提升

 

具体可以参看http://source.android.com/source/building-running.html

1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics