New issue
Advanced search Search tips

Issue 809010 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug



Sign in to add a comment

Turn off Blink precompile if jumbo is enabled

Project Member Reported by brat...@opera.com, Feb 5 2018

Issue description

Since we have many different pch files in blink, it's possible that precompile in blink adds nothing and only cost time when you have jumbo.

TODO: Measure compilation times with and without pch files (Windows?) in blink.
 
Components: Build

Comment 2 by brat...@opera.com, Mar 14 2018

Owner: brat...@opera.com
Status: Started (was: Untriaged)
I did some measurements in Blink

svg
-----
32s with jumbo (non-goma) without pch.
41s with jumbo (non-goma) pch.

core
-----
337s with jumbo (non-goma) without pch.
423s with jumbo (non-goma) pch.

A good illustration is that with jumbo core consists of 177 targets. 44 of those are pch files, each taking quite a long time to compile and each being used between 1-4 times. Not nearly enough to make up the compilation time spent making them.

With goma the equation might be different since the jumbo chunks are smaller, but I don't even know if/how goma handles pch.

Comment 3 by brat...@opera.com, Mar 14 2018

Labels: OS-Windows
Project Member

Comment 4 by bugdroid1@chromium.org, Mar 15 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/31515bed3067222a5029bc56e303e59ac4da6332

commit 31515bed3067222a5029bc56e303e59ac4da6332
Author: Daniel Bratell <bratell@opera.com>
Date: Thu Mar 15 10:12:02 2018

Disable blink pch for jumbo builds

pch makes jumbo builds slower instead of faster since each
pch file will only be used 1-3 times instead of many times, and
in Blink the pch files contain a lot of code so creating them
takes a long time.

This saves about 20% of the Blink build time on Windows.

Bug:  809010 
Change-Id: Ia512646110572e4939e8e3cc1a9cd946b780cb97
Reviewed-on: https://chromium-review.googlesource.com/962785
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#543335}
[modify] https://crrev.com/31515bed3067222a5029bc56e303e59ac4da6332/third_party/WebKit/Source/core/BUILD.gn

Comment 5 by brat...@opera.com, Mar 23 2018

Status: Fixed (was: Started)
Project Member

Comment 6 by bugdroid1@chromium.org, Jun 28 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4006fb7084fe9b0fca354ef4ed5532d78e5555a3

commit 4006fb7084fe9b0fca354ef4ed5532d78e5555a3
Author: Nico Weber <thakis@chromium.org>
Date: Thu Jun 28 16:19:33 2018

Enable pch files for blink_core in jumbo builds.

Makes incremental builds of blink_core 31% faster in jumbo builds.
(Non-jumbo builds that use PCHs (i.e. not goma builds at the moment) already
got this speedup without this change.)

reviews.llvm.org/rL335466 made PCH files much more effective in component
builds on windows.  Regular (non-jumbo) component builds of blink_core now build 42%
faster.  In Jumbo builds, full builds are only a bit faster with PCHs enabled
after that change (26m52s instead of 27m33s with just jumbo; jumbo + PCH before
that change was 27m41s), but incremental build time goes from 32s to 22s for
touching one cc file and relinking blink_core.dll, which is a considerable
speed-up.

Reverts https://chromium-review.googlesource.com/c/chromium/src/+/962785

Bug:  809010 
Change-Id: I985dd16dacaa9f655ae2a9329b33ad92229a1ab6
Reviewed-on: https://chromium-review.googlesource.com/1116901
Reviewed-by: Hans Wennborg <hans@chromium.org>
Cr-Commit-Position: refs/heads/master@{#571151}
[modify] https://crrev.com/4006fb7084fe9b0fca354ef4ed5532d78e5555a3/third_party/blink/renderer/core/BUILD.gn

Sign in to add a comment