[lld] Tracking bug for ld64.lld performance improvements
- Dominant language
- LLVM
- Stars
- 40.5k
- Forks
- 18.7k
- PR merge metrics
- PR metrics pending
Description
Filing this as a general tracking bug for performance improvements I will be uploading as mentioned in [this discourse post](https://discourse.llvm.org/t/plan-to-improve-ld64-lld-performance/91715).
Performance improvements will be measured with hyperfine runs (3 warm up runs, 20 runs), and all repro files can be found [at this google drive link](https://drive.google.com/drive/u/1/folders/14Xn8gKV1ChMgBnRfGWsK9XTxpx9-kzjj). I double checked and this should be a public link and not require an account to sign in, please let me know if that's not the case.
All repro files were made on Chromium change id [Ic7b9dfb6b70f8a43d78bbe3192ea957cae6fb484](https://chromium-review.googlesource.com/q/Ic7b9dfb6b70f8a43d78bbe3192ea957cae6fb484).
The file names correspond to the relevant gn args. E.g., `mac_debug_component_sym_2` has the following args:
```
is_debug = true
is_component_build = true
symbol_level = 2
```
As a note `dcheck_always_on` is set to true in all the args as well and the asan repro has an extra argument so its full set of gn args is
```
dcheck_always_on = false
enable_ipc_fuzzer = true
is_asan = true
is_component_build = false
is_debug = false
```
Contributor guide
Research direction
Start with the linked Discourse post and the repro files in the Google Drive folder. Run the stated hyperfine benchmark with three warm-up runs and 20 measured runs using the listed Chromium GN arguments; done means a documented performance improvement for ld64.lld against the relevant repro.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers, performance
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100