[webkit-reviews] review requested: [Bug 139438] [CMake] Enable pre-compiled headers (PCH) (cotire) : [Attachment 319615] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Sep 1 10:47:27 PDT 2017


Adrian Perez <aperez at igalia.com> has asked  for review:
Bug 139438: [CMake] Enable pre-compiled headers (PCH) (cotire)
https://bugs.webkit.org/show_bug.cgi?id=139438

Attachment 319615: Patch

https://bugs.webkit.org/attachment.cgi?id=319615&action=review




--- Comment #2 from Adrian Perez <aperez at igalia.com> ---
Created attachment 319615

  --> https://bugs.webkit.org/attachment.cgi?id=319615&action=review

Patch

Here goes another attempt at this, with a new patch which works well for both
JavaScriptCore and WebCore. The approach followed is to reuse the existing
prefix headers, adding system includes to them for GTK/WPE, and using them as
input for creation of the precompiled header. This way:

 - Only headers which are known to not change often get precompiled (that is:
   system headers, and those from the internal JHBuild for development builds).

 - We avoid breaking the build (super important!)

With the patch applied, with Clang, without CCache/IceCC, and using
“webkit-build --release --gtk --makeargs=WebCore”, build times are:

 - ~39 minutes WITH precompiled headers.
 - ~44 minutes WITHOUT precompiled headers.

This is certainly promising, and I already have some changes locally to also
enable precompiled headers for other targets (mainly WebKit, also WebProcess,
NetworkProcess, etc).

My main (and only) doubt is: Is it okay to reuse the existing prefix headers
for this?

(BTW, the builds I made here work fine, MiniBrowser works, and I also tried
running some layout tests (which worked), but I didn't wait for a full run to
finish.)


More information about the webkit-reviews mailing list