[PATCH] D122922: [lld][common][lld-macho][lld-coff] Support per-thread allocators and StringSavers

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 26 22:37:51 PDT 2022


MaskRay added a comment.

I use chrome as an ELF linker benchmark. After linking `chrome`, delete it, run `ninja -v chrome` to get the linker command line, and invoke the linker command line with `-Wl,--reproduce=/tmp/chrome.tar` to get a reproduce file.

/tmp/c/0: old lld
/tmp/c/1: new lld

I have run the following commands several times and notice that this version is still a bit slower:

  % hyperfine --warmup 2 --min-runs 16 "numactl -C 20-27 "{/tmp/c/0,/tmp/c/1}" -flavor gnu @response.txt --threads=8"
  Benchmark 1: numactl -C 20-27 /tmp/c/0 -flavor gnu @response.txt --threads=8
    Time (mean ± σ):      6.163 s ±  0.107 s    [User: 9.653 s, System: 2.674 s]
    Range (min … max):    6.047 s …  6.395 s    16 runs
   
  Benchmark 2: numactl -C 20-27 /tmp/c/1 -flavor gnu @response.txt --threads=8
    Time (mean ± σ):      6.213 s ±  0.122 s    [User: 9.619 s, System: 2.662 s]
    Range (min … max):    6.071 s …  6.474 s    16 runs
   
  Summary
    'numactl -C 20-27 /tmp/c/0 -flavor gnu @response.txt --threads=8' ran
      1.01 ± 0.03 times faster than 'numactl -C 20-27 /tmp/c/1 -flavor gnu @response.txt --threads=8'


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D122922/new/

https://reviews.llvm.org/D122922



More information about the llvm-commits mailing list