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 Review-Url: https://codereview.chromium.org/2331373006 Cr-Commit-Position: refs/heads/master@{#418660}
Showing
Please register or sign in to comment