[ccache] Using ccache with memcached

Anders Björklund anders at itension.se
Tue Dec 1 21:59:56 UTC 2015


Hi all!

While the idea of using memcached with ccache is nothing new (*),
it seems to be more popular now with more memory being available...

* https://lists.samba.org/archive/ccache/2010q4/000686.html
   https://lists.samba.org/archive/ccache/2013q2/001120.html

Pierre Tardy made a PR (https://github.com/jrosdahl/ccache/pull/30)
to replace the filesystem ("fs") cache with memcached altogether.


We have gone with a different approach, to use memcached only as a
secondary cache - while preserving the primary cache (on the disk).

Also added support for big files larger than memcached default (1M),
without having to modify the servers - by splitting them up if needed.


Manifests are just stored in a single entry in the memcached, while
other files are being combined into one entry per cache key (md4-len)

The idea is that hitting this secondary cache is still cheaper than
doing a compile again, but could be slower than not using the network.

The overhead of having each and every ccache invocation call memcached,
can be avoided by setting up a local memcached proxy ("moxi") server.


There is a public branch available, rebased from a 3.1 version:
https://github.com/itensionanders/ccache/tree/memcached

It has been (recently) updated to "3.2-maint", but not to "master".
Being a work in progress still, it's not ready for merging just yet.

But I would like some early feedback, and perhaps some more testing ?
More benchmarking needs to be done, and for some different scenarios.

/Anders


More information about the ccache mailing list