> On Aug 29, 2017, at 11:03 AM, Geoffrey Garen <gga...@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

_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to