[all-commits] [llvm/llvm-project] 0e8fd3: [lld-macho] Parallelize ObjFile::sourceFile() duri...
Liza Burakova via All-commits
all-commits at lists.llvm.org
Mon Sep 14 08:05:24 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 0e8fd3609aae9dab8e24953a126c1a97871cc7fc
https://github.com/llvm/llvm-project/commit/0e8fd3609aae9dab8e24953a126c1a97871cc7fc
Author: Liza Burakova <liza at chromium.org>
Date: 2026-09-14 (Mon, 14 Sep 2026)
Changed paths:
M lld/MachO/SyntheticSections.cpp
Log Message:
-----------
[lld-macho] Parallelize ObjFile::sourceFile() during STABS emission. (#222087)
This is part of the ld64.lld performance improvements tracked by #222068
Currently, SymtabSection::emitStabs() calls emitBeginSourceStab() it
passes in file->sourceFile(), which will call
ObjFile::sourceFile(). This method reads the component's root DIE, which
is a bottleneck when done serially as at this stage the DWARF sections
have not been parsed yet.
This commit parallelizes the calls to ObjFile::sourceFile(), as we
already have the file ids stable sorted.
AI tool use: this is one of the commits that was prototyped by AI. I
rewrote this commit and ran the benchmarking myself.
**Benchmark for mac_debug_component_sym_2**
LLD Baseline
Time (mean ± σ): 8.630 s ± 0.479 s [User: 7.170 s, System: 2.012 s]
Range (min … max): 8.147 s … 9.661 s 20 runs
LLD Optimized
Time (mean ± σ): 8.149 s ± 0.373 s [User: 7.410 s, System: 2.206 s]
Range (min … max): 7.804 s … 9.507 s 20 runs
LLD Baseline 2
Time (mean ± σ): 8.365 s ± 0.347 s [User: 7.097 s, System: 1.922 s]
Range (min … max): 8.036 s … 9.146 s 20 runs
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list