[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