> 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