HOWTO: FreeBSD with CCACHE
http://forums.freebsd.org/showthread.php?t=174
install
ccache port or add a package:
add the following to
/etc/make.conf:
add the following to
/.cshrc:
logout and login again before using ccache because when You dont
ccache will use
/root/.ccache dir instead of
/var/tmp/ccache.
ccache can be shared between several computers the same as ports tree for example, check man ccache for more info.
ADDED 2007.2.15:
example ccache stats from my box.
ADDED 2007.2.16:
comparasion of buildworld times with and without ccache:
If you face a problem with
/root/.ccache being used instead of
/var/tmp/ccache then you may solve it that way:
Code:
# cd /usr/ports/devel/ccache && make install clean # pkg_add -r ccache
Code:
.if !defined(NO_CACHE)
CC= /usr/local/libexec/ccache/world-cc
CCX= /usr/local/libexec/ccache/world-c++
.endif
.if ${.CURDIR:M*/ports/devel/ccache}
NO_CCACHE= yes
.endif
Code:
# set ccache varibles setenv PATH /usr/local/libexec/ccache:$PATH setenv CCACHE_PATH /usr/bin:/usr/local/bin setenv CCACHE_DIR /var/tmp/ccache setenv CCACHE_LOGFILE /var/log/ccache.log # set ccache temp size to 512MB (default 1GB) if ( -x /usr/local/bin/ccache ) then /usr/local/bin/ccache -M 512m > /dev/null endif
ccache can be shared between several computers the same as ports tree for example, check man ccache for more info.
ADDED 2007.2.15:
example ccache stats from my box.
Code:
% ccache -s cache directory /var/tmp/ccache cache hit 18562 cache miss 102820 called for link 9824 multiple source files 75 compile failed 1610 preprocessor error 1446 not a C/C++ file 3747 autoconf compile/link 16982 unsupported compiler option 511 no input file 6698 files in cache 49631 cache size 464.3 Mbytes max cache size 512.0 Mbytes
comparasion of buildworld times with and without ccache:
Code:
# without ccache make -j1 buildworld 4148.38s user 937.02s system 97% cpu 1:27:00.40 total # with ccache make -j1 buildworld 1043.30s user 703.76s system 88% cpu 32:50.02 total
Code:
% cd /home/${USER}
% rm -rf .ccache
% ln -s /var/tmp/ccache .ccache
% ls -l .ccache
lrwxr-xr-x 1 ${USER} ${USER} 15 Dec 19 15:20 .ccache -> /var/tmp/ccache
% ccache -s
cache directory /var/tmp/ccache
cache hit 165292
cache miss 327142
called for link 38002
multiple source files 216
compile failed 5182
preprocessor error 4934
couldn't find the compiler 1
not a C/C++ file 26249
autoconf compile/link 52665
unsupported compiler option 1379
no input file 23289
files in cache 79438
cache size 530.2 Mbytes
max cache size 512.0 Mbytes
% sudo ccache -s
cache directory /home/vermaden/.ccache
cache hit 165292
cache miss 327142
called for link 38002
multiple source files 216
compile failed 5182
preprocessor error 4934
couldn't find the compiler 1
not a C/C++ file 26249
autoconf compile/link 52665
unsupported compiler option 1379
no input file 23289
files in cache 79438
cache size 530.2 Mbytes
max cache size 512.0 Mbytes
__________________
religions, worst damnation of mankind
"If 386BSD had been available when I started on Linux, Linux would probably never had happened." Linus Torvalds
religions, worst damnation of mankind
"If 386BSD had been available when I started on Linux, Linux would probably never had happened." Linus Torvalds
本文介绍了如何在FreeBSD系统中安装并配置CCache,通过设置环境变量和Make配置文件实现缓存编译结果,从而加速后续的编译过程。文中还提供了使用CCache前后的编译时间对比。
1万+

被折叠的 条评论
为什么被折叠?



