diff options
author | Jonas Devlieghere <jonas@devlieghere.com> | 2024-11-02 09:38:10 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-02 09:38:10 -0700 |
commit | b360dfd5031e76c97257ef1b3e90385bf297e8ab (patch) | |
tree | e3cba22fe5198fe70dd50e1361454b384b89251b /llvm/lib/IR/Module.cpp | |
parent | fcd51dee42792bf264d26ab4978eb0a3a3001728 (diff) | |
download | llvm-b360dfd5031e76c97257ef1b3e90385bf297e8ab.zip llvm-b360dfd5031e76c97257ef1b3e90385bf297e8ab.tar.gz llvm-b360dfd5031e76c97257ef1b3e90385bf297e8ab.tar.bz2 |
[lldb] Create dependent modules in parallel (#114507)
Create dependent modules in parallel in Target::SetExecutableModule.
This change was inspired by #110646 which takes the same approach when
attaching. Jason suggested we could use the same approach when you
create a target in LLDB.
I used Slack for benchmarking, which loads 902 images.
```
Benchmark 1: ./bin/lldb /Applications/Slack.app/Contents/MacOS/Slack
Time (mean ± σ): 1.225 s ± 0.003 s [User: 3.977 s, System: 1.521 s]
Range (min … max): 1.220 s … 1.229 s 10 runs
Benchmark 2: ./bin/lldb /Applications/Slack.app/Contents/MacOS/Slack
Time (mean ± σ): 3.253 s ± 0.037 s [User: 3.013 s, System: 0.248 s]
Range (min … max): 3.211 s … 3.310 s 10 runs
```
We see about a 2x speedup, which matches what Jason saw for the attach
scenario. I also ran this under TSan to confirm this doesn't introduce
any races or deadlocks.
Diffstat (limited to 'llvm/lib/IR/Module.cpp')
0 files changed, 0 insertions, 0 deletions