[webkit-dev] Unified source builds: A new rule for static variables

2017-08-28 Thread Keith Miller
Hello WebKittens, As many of you already know build times in WebKit have a major impact on the productivity of developers. My hope is to change that for clean builds without significantly impacting incremental builds. We’re expecting to see a 3-4x build time speedup on clean builds of WebKit! T

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

2017-08-28 Thread Michael Catanzaro
On Mon, Aug 28, 2017 at 7:37 PM, Keith Miller wrote: Given that most of the build time in incremental builds is scanning dependencies, this change is probably only barely noticeable. What, with CMake? That's true of the make backend, but definitely not the ninja backend. You should pass -GNin

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

2017-08-28 Thread Ryosuke Niwa
On Mon, Aug 28, 2017 at 8:10 PM, Michael Catanzaro wrote: > On Mon, Aug 28, 2017 at 7:37 PM, Keith Miller > wrote: >> >> Given that most of the build time in incremental builds is scanning >> dependencies, this change is probably only barely noticeable. > > > What, with CMake? That's true of the

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

2017-08-28 Thread Michael Catanzaro
On Mon, Aug 28, 2017 at 10:34 PM, Ryosuke Niwa wrote: I don't think we should make this change. It would mean that whenever the function signature changes, we'd have to modify the header file, which in turn triggers rebuild of every cpp file which includes that header file. Good point. __

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

2017-08-28 Thread Daniel Bates
Thank you for looking into speeding up the build. How does the speed gain with your proposed "unified source" approach compare to using CMake + Ninja to build currently (I think builder Apple El Capitan CMake Debug does this)? Do we know what is the cause(es) for the slow clean builds? I am ass

[webkit-dev] Code style: Propose using C++11 uniform initializer syntax in member initializer lists

2017-08-28 Thread Daniel Bates
Hi all, I am writing to propose using C++11 uniform initializer syntax in member initializer lists. The following: class A { public: A(B&& b, float i, int j) : m_b(WTFMove(b)) , m_i(i) , m_j(j) { } ... }; Would become: class A { public: A(B&& b, float i, int j)

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

2017-08-28 Thread Maciej Stachowiak
> On Aug 28, 2017, at 9:20 PM, Daniel Bates wrote: > > Thank you for looking into speeding up the build. > > How does the speed gain with your proposed "unified source" approach compare > to using CMake + Ninja to build currently (I think builder Apple El Capitan > CMake Debug does this)? I

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

2017-08-28 Thread Michael Catanzaro
On Mon, Aug 28, 2017 at 11:20 PM, Daniel Bates wrote: How does the speed gain with your proposed "unified source" approach compare to using CMake + Ninja to build currently (I think builder Apple El Capitan CMake Debug does this)? I don't have any hard numbers, but anecdotal: the speedup from

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

2017-08-28 Thread Geoffrey Garen
> The line numbers and filenames will be total nonsense if we just concatenate > multiple source files together. But that's very easy to fix if the script > that concatenates the sources also adds a #line statement between "files" to > change the filename and reset the line number to 1. See > h