[webkit-dev] Growing tired of long build times? Check out this awesome new way to speed up your build... soon (HINT: It's not buying a new computer)

Michael Catanzaro mcatanzaro at igalia.com
Tue Aug 29 17:14:50 PDT 2017

On Tue, Aug 29, 2017 at 3:22 PM, Olmstead, Don <Don.Olmstead at sony.com> 
> Sure but in a corporate environment it can be a really big win. All 
> of our developers have their machines hooked up to the distributed 
> build system and we also have servers hanging out that can be used in 
> the build. This sort of thing doesn't require anyone to change how 
> they write their code which is something a unity build ends up 
> requiring.
> In terms of WebKit development the only places it falls apart are in 
> the source code generation and the link.
> Really I was just curious if anything like that was discussed because 
> all of this requires pretty big changes to source code. Additionally 
> there's other fun things that can happen around includes when doing a 
> unity build where a file will stop being able to be built in 
> isolation. The same thing has happened with WebCorePrefix where a 
> number of files can't be built without it.

I think Keith's new plan for unity builds, which doesn't require major 
changes to our source code, should work out fine, and hopefully save us 
from investing in Threadrippers....

Now, distributed builds are a great idea. We use them at Igalia. A 
couple years ago, when we had enough laptops in the office at the same 
time, I saw a clean build of WebKit performed in under five minutes! 
The main limitation is they are not useful for individual contributors. 
GNOME developers complain all the time about how long it takes to build 
WebKit. Distributed builds won't help there. They also don't help 
distributed workers. Most of us at Igalia work from home and only 
benefit from distributed builds when visiting our office.

We discussed distributed builds at the Contributor's Meeting two years 
ago. I believe the main limitation at the time was that they were not 
well-supported by XCode, and many Apple developers had only limited 
interest at the time in switching to CMake. Since the unified build 
proposal also requires CMake, it sounds like that situation may have 
changed. I would certainly recommend that Apple consider distributed 
builds *in addition* to switching to unified builds.

And then we can delete those XCode projects and have one build system 
to rule them all. Muahahaha! Evil laughter!


More information about the webkit-dev mailing list