Date: Tue, 21 Mar 2006 08:45:41 -0500 From: "michael johnson" <buhnux@gmail.com> To: "Alex Dupre" <ale@freebsd.org> Cc: freebsd-current@freebsd.org, ahze@freebsd.org, freebsd-ports@freebsd.org Subject: Re: Using ccache with make world Message-ID: <b2203fed0603210545y1693b138y94477a7d810bc9e7@mail.gmail.com> In-Reply-To: <441FFF0C.4010107@FreeBSD.org> References: <441FFF0C.4010107@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 3/21/06, Alex Dupre <ale@freebsd.org> wrote: > > Short summary: > > I made a patch to ccache port so that we can actually and effectively > use ccache when making buildworld and buildkernel. The patch can be > found at: http://www.alexdupre.com/ccache.diff > Read the ccache-freebsd-howto.txt file before using ccache. > > Long description: > > As you know, until now, building FreeBSD with ccache spotted several > issues because of the complex "make world" process; in particular it > changes the default path and build a new compiler with different header > files and this avoids any effective use of ccache. Some workarounds grew > up, but they fix only a subset of the problems, creating (sooner or > later) issues elsewhere. This patch tries to fix (or at least minimize) > all the problems, implementing a mixture of floating ideas collected > from various threads. For an implementation overview, I recommend to > read the simple patch, because explaining it will be more complex for me > :-) > > Benchmarks: I think everything looks good, but is there not some overhead by using a shell script in world-cc and world-c++? I'm not sure that there would be a better way of doing what you want than what you have now though. Just booted into a new world/kernel, compiled (and installed) for the > first time with ccache. /usr/obj is empty. > > # ccache -s > cache directory /usr/.ccache > cache hit 932 > cache miss 16144 > called for link 755 > multiple source files 1 > compile failed 107 > preprocessor error 35 > not a C/C++ file 1550 > autoconf compile/link 807 > unsupported compiler option 546 > no input file 116 > files in cache 32288 > cache size 219.7 Mbytes > max cache size 976.6 Mbytes > > # time make buildworld > [...] > 547.504u 206.484s 18:02.28 69.6% 2792+1865k 38436+7220io 6874pf+0w > > # ccache -s > cache directory /usr/.ccache > cache hit 13027 > cache miss 16265 > called for link 1311 > multiple source files 2 > compile failed 107 > preprocessor error 35 > not a C/C++ file 2759 > autoconf compile/link 807 > unsupported compiler option 546 > no input file 117 > files in cache 32530 > cache size 220.0 Mbytes > max cache size 976.6 Mbytes > > # time make buildkernel > [...] > 125.756u 47.537s 5:03.57 57.0% 2664+1990k 13871+4882io 715pf+0w > > # ccache -s > cache directory /usr/.ccache > cache hit 15070 > cache miss 16268 > called for link 1314 > multiple source files 2 > compile failed 107 > preprocessor error 35 > not a C/C++ file 2763 > autoconf compile/link 807 > unsupported compiler option 552 > no input file 117 > files in cache 32536 > cache size 220.2 Mbytes > max cache size 976.6 Mbytes > > -- > Alex Dupre > _______________________________________________ > freebsd-ports@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-ports > To unsubscribe, send any mail to "freebsd-ports-unsubscribe@freebsd.org" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?b2203fed0603210545y1693b138y94477a7d810bc9e7>