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

Keith Miller keith_miller at apple.com
Tue Aug 29 11:30:09 PDT 2017



> On Aug 29, 2017, at 11:03 AM, Geoffrey Garen <ggaren at apple.com> wrote:
> 
>> I worry about adopting unity build because while it makes clean builds faster, it also slows down incremental builds. As a developer, I rarely do clean builds, I mostly do incremental builds so this would likely make my experience worse?
> 
> We have some preliminary data that says incremental builds will be OK, but not a full benchmark.
> 
> Here’s a full benchmark I propose to test incremental builds:
> 
> 	Start 7 days ago in SVN history. Do a clean build.
> 
> 	SVN update forward by 24 hours. Do an incremental build. Time this build.
> 
> 	Repeat 7 times. Average the results.

I’m not sure this will really test incremental builds. WTF header files are touched at least once a day, which means these builds will be closer to a clean build. If we want to test incremental builds we’d need someway to just touch some set of .cpp files scattered throughout webkit and rebuild.

> 
> I think we should run this benchmark per project as we adopt unity builds, starting with WTF.

I agree, we should come up with some benchmark to test the efficacy of unified builds. I think a better test would be to pick some subset of .cpp files we think are representative of an incremental build and create a patch that sticks some newlines at the top of the file. Hopefully, this patch will always apply since copyrights don’t change often. We could also do more than one patch to test various versions of incremental builds.

> 
> In the beginning, when we adopt unity builds for WTF and then JavaScriptCore, the benchmark can build just these projects and stop. Once we get to WebCore and WebKit, the benchmark will take longer. Oh well.
> 
> If we get the bundling right, this benchmark should show obvious speedups. If it shows no speedup or a slowdown, we’ve done something wrong and we need to reconsider.
> 
> Geoff



More information about the webkit-dev mailing list