[PATCH] D42326: [COFF] add option to avoid overwriting unchanged import libraries

Bob Haarman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 19 16:55:15 PST 2018


inglorion added a comment.

Example of the speedup. I built chromium's net_unittests in a component build, then changed src/base/rand_utils.cc by removing the DCHECK_LE at the beginning of RandInt, rebuilt, put the DCHECK_LE back in, rebuilt, etc. The following times are representative of my results.

Without -keep-unchanged-implib:

  tim ninja -C out/clang net_unittests
  ninja: Entering directory `out/clang'
  [41/41] LINK net_unittests.exe
  
  peak memory: 408.08MB
  real: 0m37.594s
  qpc: 37594502us

With -keep-unchanged-implib:

  tim ninja -C out/clang net_unittests
  ninja: Entering directory `out/clang'
  [2/41] LINK(DLL) base.dll base.dll.lib
  
  peak memory: 187.51MB
  real: 0m3.672s
  qpc: 3660537us

The args.gn I used for this is

  is_clang = true
  is_component_build = true
  clang_base_path = "C:/src/clang"
  clang_use_chrome_plugins = false
  is_cfi = false
  is_debug = false
  is_official_build = false
  symbol_level = 0
  use_lld = true
  use_thin_lto = false


https://reviews.llvm.org/D42326





More information about the llvm-commits mailing list