[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)
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
> 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