Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(144)

Issue 2331373006: Enable incremental linking in release component builds (Closed)

Created:
4 years, 3 months ago by brucedawson
Modified:
4 years, 3 months ago
CC:
chromium-reviews, blink-reviews
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Enable incremental linking in release component builds Component builds are, by definition, not optimized for maximum performance. So incremental linking - which trades a little bit of performance for much faster build times - is appropriate in release component builds, as well as in debug builds. This change enables incremental linking in release component builds. This also requires turning off /OPT:ICF and /PROFILE in component builds because they are incompatible with /incremental, but they are performance related flags so they are also not important for component builds. blink_core.dll cannot be incrementally linked in debug x64 component builds, but it *can* be incrementally linked in release x64 component builds (and debug/release x86 component builds), and this change enables incremental linking of blink_core.dll in all supported configurations. This drops the chrome rebuild time after touching third_party\WebKit\Source\core\html\AutoplayExperimentHelper.cpp from ~260 seconds to 9 seconds. The chrome rebuild time after touching base\win\registry.cc drops from ~200 seconds to less than 2 seconds, with 21 of 24 link steps skipped entirely. This also fixes some /INCREMENTAL /OPT:ICF mismatch warnings. BUG=608801, 621236 Committed: https://crrev.com/7bf1119ce51d5e5b489c780bbacc332eabdd6f07 Cr-Commit-Position: refs/heads/master@{#418660}

Patch Set 1 #

Total comments: 6

Patch Set 2 : Tweak logic and add bug link #

Unified diffs Side-by-side diffs Delta from patch set Stats (+16 lines, -7 lines) Patch
M build/config/compiler/BUILD.gn View 1 chunk +4 lines, -1 line 0 comments Download
M build/config/win/BUILD.gn View 1 2 chunks +8 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/BUILD.gn View 1 1 chunk +4 lines, -2 lines 0 comments Download

Messages

Total messages: 23 (17 generated)
Peter Kasting
https://codereview.chromium.org/2331373006/diff/1/build/config/compiler/BUILD.gn File build/config/compiler/BUILD.gn (right): https://codereview.chromium.org/2331373006/diff/1/build/config/compiler/BUILD.gn#newcode1244 build/config/compiler/BUILD.gn:1244: common_optimize_on_ldflags += [ "/OPT:ICF" ] # Redundant COMDAT folding. ...
4 years, 3 months ago (2016-09-14 01:15:17 UTC) #4
brucedawson
I made some changes based on review feedback - thanks for looking. Dirk - PTAL. ...
4 years, 3 months ago (2016-09-14 17:49:25 UTC) #11
Dirk Pranke
lgtm
4 years, 3 months ago (2016-09-14 18:50:19 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2331373006/20001
4 years, 3 months ago (2016-09-14 20:30:52 UTC) #19
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 3 months ago (2016-09-14 20:37:06 UTC) #21
commit-bot: I haz the power
4 years, 3 months ago (2016-09-14 20:38:50 UTC) #23
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/7bf1119ce51d5e5b489c780bbacc332eabdd6f07
Cr-Commit-Position: refs/heads/master@{#418660}

Powered by Google App Engine
This is Rietveld 408576698