[webkit-dev] Compiling WebKit up to 25% faster in Windows?

Daniel Bratell bratell at opera.com
Wed Mar 27 13:32:53 PDT 2013


Den 2013-03-27 20:05:03 skrev Brent Fulgham <bfulgham at gmail.com>:

> Hi Daniel,
>
> On Tue, Mar 26, 2013 at 11:21 AM, Daniel Bratell <bratell at opera.com>  
> wrote:
>
>> As an experiment we took the (chromium) project webcore_dom, that  
>> normally
>> compiles in 56 seconds in Windows on a generic computer and "fixed" it.
>> Removing the many include paths in the build system and instead  
>> specifying
>> the path in the include directives changed that to 42 seconds, a 25%
>> reduction.
>>
>
> I thought that much of this was supposed to be addressed by the use of
> precompiled headers.  Presumably, if the header files are properly
> incorporated into the PCH, shouldn't any gains from relative paths be
> small? Obviously your statistic says otherwise, but I'm not sure that a
> single test on a single system is definitive proof of anything.

Precompiled headers could help some but they also cost some, and will  
trigger much bigger recompilations when you are changing files. I would  
welcome any way to make it easier and faster to develop WebKit but I  
haven't looked at that myself. Maybe someone else at Opera has but I've  
not heard about it.

> Did you run the test multiple times to get a feel for how reproducible  
> the
> improvements was? I know I have fooled myself in the past into thinking I
> had improved something, only to discover that unrelated computer activity
> (e.g., backups, virus scans, etc.) were contributing to slow build times.

For sure it needs more analysis. For instance, is the webcore_dom savings  
representative of the whole of webkit? Is it reproducible across every  
machine or is the slowness magnified by some factor that doesn't apply to  
everyone? Examples of good questions that I can't answer yet.

If the initial analysis is correct, and the fix scales to the whole of  
WebKit the savings are huge for Windows developers but it's hard to say  
for sure without actually doing the whole conversion and we (or at least  
not I) have not done that yet. It's also not done in a few minutes by  
someone rather unfamiliar with all the different header files that share  
the same name so it's easy to mess up.

The reason I posted here was to get some feedback and avoid spending a lot  
of precious time on a fool's errand.

/Daniel


More information about the webkit-dev mailing list