On 02/15/2016 04:19 PM, Francois Gouget wrote:
On Sun, 14 Feb 2016, Kyle Auble wrote: [...]
It's been several months so I could be completely misremembering, but I want to say ccache didn't seem to help even subsequent builds of wine on my system (which has really old hardware). Just keeping the object files for make (which is a no-go for final tests) seemed to make a much bigger difference.
Not sure why keeping the object files would be a no-go (at least for preprocessor mode).
Oh, that's not to avoid a problem with ccache but for doing the build from a clean directory.
However, note that nowadays ccache has two modes:
'Preprocessor mode' where where ccache runs the preprocessor on the source code and hashes the result to find the object file in its cache.
'Direct mode' where ccache hashes the source code and include files directly which lets it skip the preprocessor step too. There's a catch in this mode which is that creating a new header file may change the code that would be compiled, without ccache detecting it.
Direct mode should improve compilation times at least as much as precompiled headers.
That's true, I noticed in the ccache stats that I would get occasional preprocess hits when building the linux kernel. The more I think about it, I wonder if ccache might seem less effective for me because my processor struggles some with the hashing. Since I don't remember exactly how my stats turned out, I'd be willing to figure out the precompiled headers, then test if they make a difference on top of ccache. If they seem worth it and it's still an open issue, I can submit the necessary patches; I just can't promise it will happen soon.
Kyle