> On Aug 29, 2017, at 6:40 PM, Sam Weinig <wei...@apple.com> wrote:
> 
> 
> 
>> On Aug 29, 2017, at 6:36 PM, Maciej Stachowiak <m...@apple.com 
>> <mailto:m...@apple.com>> wrote:
>> 
>> 
>> 
>>> On Aug 29, 2017, at 5:54 PM, Sam Weinig <wei...@apple.com 
>>> <mailto:wei...@apple.com>> wrote:
>>> 
>>> 
>>> 
>>>> On Aug 29, 2017, at 12:46 PM, Geoffrey Garen <gga...@apple.com 
>>>> <mailto:gga...@apple.com>> wrote:
>>>> 
>>>>> This isn’t the scenario I find myself in most often.  A much more common 
>>>>> scenario is working on a change; touch one or two files, and then compile 
>>>>> and test/debug.  Rinse and repeat.
>>>> 
>>>> We’ve already tested this case. The worst case slowdown, if you touch a 
>>>> small file that's in the same bundle as the biggest .cpp file in the 
>>>> project, is 6s => 7s (20%).
>>>> 
>>>> Geoff
>>> 
>>> I see larger than ~6 second build times with this scenario, not measure 
>>> scientifically, but I would approximate it more around 20 - 30 seconds. Do 
>>> you expect the 20% to scale linearly?
>> 
>> Is that just compile time or total build time including build system 
>> overhead? I found that for single-file builds the compile step is less than 
>> half the total time.
> 
> 
> I’m not entirely sure. I usually don’t pay attention to what is happening 
> during the compile.  From doing one right now, it seems to be about 50-50 for 
> one small file.

I've tried to reverse engineer this by comparing compile time after touching 
one file to time after touching two and it seems to support ~50%. Given that, 
I'd estimate the impact to a 20-30 second total time at around 1-2 seconds. 
With more files, your probability of a net win increases. If two files in the 
same AllInOne get changed, you save enough to make up for four singletons 
slowing down.

I agree that the single-file incremental time is already not great but I think 
adopting cmake+ninja as the normal way to build is the only easy way to resolve 
that. Maybe we could even consider making the Xcode project invoke the 
cmake/ninja build instead of doing the Xcode thing at some point, to maximally 
help people who build in the GUI.

 - Maciej

> 
> - Sam
> 
>> 
>> 
>>> 
>>> 
>>> In a completely other direction, what does this mean for use of Xcode? Can 
>>> we still build from Xcode? Debug?
>>> 
>>> - Sam
>>> 
>>> _______________________________________________
>>> webkit-dev mailing list
>>> webkit-dev@lists.webkit.org <mailto:webkit-dev@lists.webkit.org>
>>> https://lists.webkit.org/mailman/listinfo/webkit-dev 
>>> <https://lists.webkit.org/mailman/listinfo/webkit-dev>
_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to