I have a distcc/ccache setup, but I share my cache among the machines. If you give each machine it's own cache, you'll only get a cache hit if distcc randomly happens to send the same source to the same machine twice. In my setup, I use samba to share the originating machine's cache with the rest of the compile farm. That way the entire farm has the same cache and gets all the proper cache hits no matter where distcc decides to send the source.
As for how ccache determines 'freshness', to quote the ccache homepage: "It acts as a caching pre-processor to C/C++ compilers, using the -E compiler switch and a hash to detect when a compilation can be satisfied from cache. " Search the manpage for 'hash' for some more details about how this is controlled. There is more detailed info about this in the ccache mailing list archives as well, I believe. distcc + ccache = :) -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of David Weeks Sent: Friday, June 03, 2005 11:09 AM To: [email protected] Subject: [distcc] distcc/ccache?? cache management in a distcc environment. Hello again. Continuing with my earlier question, I now ask how distcc and ccache interact. I'm assuming at this point that the client/server relationship of distcc solves potential recurssion problems within distcc operations. In other words, I assume it is the distcc client that distrubutes service requests to distcc daemons, yet the daemons themselves NEVER distrubute service request, delivering to the compiler instead, and routing the compilied binary back to the requesting host. So I now wonder about the utilization of ccache. It seems to me that the originating host ought to first que its compile list to its own ccache, and where there is a miss, perhaps then que the job to a remote host. When the remote host receives the service request, it too should examine its ccache, and build only when necessary. Regardless of which host eventually compiles an object, the originating host ALWAYS get's the completed list of objects. Is there any state management of ccache at this point? I don't know how ccache determines freshness, but I'm sure it is some comparision of source code, say a check sum? Or is it a make function? I don't know, but would like to. Thanks. David Weeks, Tampa, Florida, USA. __ distcc mailing list http://distcc.samba.org/ To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/distcc __ distcc mailing list http://distcc.samba.org/ To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/distcc
