[ccache] ccache miss increasing on making same build

Joel Rosdahl joel at rosdahl.net
Sun Aug 16 11:58:14 UTC 2015


Follow-up: We continued debugging the problem off-list. There were actually
two problems:

1. The cache size was too small so a second build never even had a chance
to get cache hits.
2. There was a generated header file with unstable content (due to Perl
5.18's randomization of hashes
<http://search.cpan.org/dist/perl-5.18.0/pod/perldelta.pod#Hash_randomization>
).

-- Joel

On 11 August 2015 at 21:45, Joel Rosdahl <joel at rosdahl.net> wrote:

> Hi Vijay,
>
> For me, ccache is not working properly on compiling the already compiled
>> build again. I can see "ccache miss" count increasing instead of "ccache
>> hit" count.
>
>
> To be able to understand why, it would help to get a ccache log that
> contains:
>
> 1. A compilation of a source file X, leading to a cache miss (and storage
> of the result in the cache).
> 2. A repeated compilation of the same source file X, leading to a cache
> miss (where you expected a cache hit of the previous result).
>
> The log file you attached only contains cache misses for two *different*
> source files.
>
> However, one thing I noticed in your log is that the manifest file already
> exists. This likely means that one of the include files has changed content
> between the two compilations. To find out which one, get the path of the
> manifest from the ccache log file (search for "Looking for object file hash
> in .../<hash>-<length>.manifest") and dump the manifest with this script:
>
>
> https://git.samba.org/?p=ccache.git;a=blob_plain;f=dump-manifest;hb=326bcbfda8709db5ad6c21ff6b0e62f0441d27d9
>
> (Or, upgrade to ccache 3.2 and run "ccache --dump-manifest
> path/to/the.manifest".)
>
> You can send the dumped manifest to me (or to the list if it's not too
> large) and I'll have a look.
>
> -- Joel
>


More information about the ccache mailing list