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