[ccache] zlib compression patch

Lars Gustäbel lars at gustaebel.de
Wed May 12 20:21:57 GMT 2004


Hi ccache-list!

I thought I'd share a patch I made for ccache 2.3 here. This patch integrates 
zlib compression in ccache which allows it to provide more cached results 
while it consumes the same amount of disk space.

I am a Gentoo Linux user, so I have to compile every software package before 
installation, because Gentoo is a ports-based distribution. I use distcc in 
conjunction with ccache to speed up my compile-times. For me, the advantage 
of a compressed cache is, that it increases the probability of cache hits for 
compiles that do not happen quite so frequently.

The slowdown which is introduced with compression is almost negligible in 
comparison. Here are some rough figures for the compilation of a Linux Kernel 
2.6.4 with a standard config:

    plain gcc run                       729.55 sec

    first normal ccache run             747.12 sec
    second normal ccache run             92.11 sec
    cache size                            9235 k

    first patched ccache run            751.92 sec
    second patched ccache run            92.68 sec
    cache size                            5491 k


More details:

    - configure takes --enable-zlib and --disable-zlib options, whereas
      zlib support is on by default.
    - A new environment variable CCACHE_NOCOMPRESS is introduced by
      which the user is able to turn off zlib compression.

Downsides:

    - The compressed cache is incompatible with common ccache
      versions. So, shared caches need extra care.
    - CCACHE_HARDLINK has no effect for compressed files in the
      cache.

You can download the patch here:
http://www.gustaebel.de/lars/ccache/ccache-compressed-cache-2.3.diff.bz2

I hope, you can make use of it.

-- 
Lars Gustäbel
lars at gustaebel.de

The trouble with the world is that the stupid are cocksure
and the intelligent full of doubt.
(Bertrand Russell)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: signature
Url : http://lists.samba.org/archive/ccache/attachments/20040512/e4b6d49c/attachment.bin


More information about the ccache mailing list