|
|
第 1 帖 | |
|
|
标题: 用ccache加速你的编译过程 无意间发现了ccache这么个好东西,或许大家都知道,就我火星了。
安装使用都很简单,对同一软件的同一或更新版本进行第二次编译速度是成倍(5-10倍)增长的。所以,像一些几乎每天更新的软件如git, svn, cvs, bzr等等效果显著,当然如果你想对同一个版本的软件修改编译参数也依然能享受到速度的乐趣。总之,有利无害,能够确保编译效果和make clean之后一致。 wiki上有相关介绍,只是过时了,其实改一处地方即可。见原文: http://wiki.archlinux.org/index.php/...h_ccache_HOWTO 主页:http://ccache.samba.org 介绍:ccache is a compiler cache. It acts as a caching pre-processor to C/C++ compilers, using the -E compiler switch and a hash to detect when a compilation can be satisfied from cache. This often results in a 5 to 10 times speedup in common compilations. The idea came from Erik Thiele wrote the original compilercache program as a bourne shell script. ccache is a re-implementation of Erik's idea in C with more features and better performance. 安装: sudo pacman -S ccache。 设置:修改/etc/makepkg.conf 找到ccache,把前面的!去掉保存即可,改成 BUILDENV=(fakeroot !distcc color ccache !xdelta) 注意:ccache会在~/.ccache保存缓存的编译文件,可以设置缓存大小,文件数目等。具体参见man ccache。 顺便说一下,makepkg.conf里还有不少东西可以修改,参见:http://wiki.archlinux.org/index.php/Makepkg.conf cflags就不再多说了,推荐用 CFLAGS="-march=native -O2 -pipe -fomit-frame-pointer" 多核的可以打开MAKEFLAGS="-j2" 分布式编译可以打开distcc 想要man以外的doc,可以去掉OPTIONS=(strip !docs libtool emptydirs)中 !doc 前的! PKGDEST可以设置生成包的路径,尤其是yaourt喜欢把aur的生成的包都放在/tmp,导致如果你选择不安装就会被删掉,浪费时间。 SRCDEST可设置下载的source的保存地址。 PACKAGER设置你的名字,以后包的信息中就会有了。 还有一些参见wiki。 此帖于 08-05-27 05:28 被 zhuqin_83 编辑. |
|
|
|
|
|
|
|
第 2 帖 | |
|
|
编辑一下文章,把 wiki 地址加上吧。
__________________
wd irc.oftc.net/6667 #chat-cn, #openbox-cn |
|
|
|
|
|
|
|
第 3 帖 | |
|
|
好呀!这个就会加快速度了,减少编译的时间。
|
|
|
|
|
|
|
|
第 4 帖 | |
|
|
楼上貌似弄错了。。这个是用在非第一次编译的时候加速的。第一次编译还是那个速度,除非你经常编译同一个包,不然是没有必要使用的
__________________
DELL V 1500 Intel Core Duo T7500, 2GB DDR2, 320GB SATA 15.3" 1280*800, Nvidia GF8600M GT 256MB, DVD R+/-W --- 佛经说,人有八苦:生老病死求不得怨憎,爱别离五阴盛,故我苦 圣经说,人有七罪:饕餮贪婪懒惰淫欲傲慢嫉妒暴怒,故我有罪 |
|
|
|
|
|
|
|
第 5 帖 | |
|
|
如果经常更新cvs、svn、git等的包,ccache还是值得用的
makepkg.conf设置的结果,只是makepkg使用时简单将/usr/lib/ccache/bin的路径致前,需要进一步定制的话,要么简单包装一个makepkg(当然需要chmod +x的)放到最前的搜索路径中,要么在~/.bashrc中设置相关环境变量等,个人的是~/bin/makepkg,同时~/.bashrc中的搜索路径为: export PATH=$HOME/bin:$PATH 同时debian中的ccache有许多补丁最好打上(apt-get source ccache后,将ccache-2.4/debian/patches移至ccache目录下) 打包时,pkgbuild中加上: 代码:
|
|
|
|
|
|