[webkit-dev] Compiling WebKit up to 25% faster in Windows?
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>
>> As an experiment we took the (chromium) project webcore_dom, that
>> compiles in 56 seconds in Windows on a generic computer and "fixed" it.
>> Removing the many include paths in the build system and instead
>> the path in the include directives changed that to 42 seconds, a 25%
> 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
> 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.
More information about the webkit-dev