RFC: Precompiled Headers for Wine Build (GSoC?)

Kyle Auble kyle.auble at zoho.com
Mon Feb 15 23:05:36 CST 2016


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




More information about the wine-devel mailing list