aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/IR/Module.cpp
diff options
context:
space:
mode:
authorJonas Devlieghere <jonas@devlieghere.com>2024-11-02 09:38:10 -0700
committerGitHub <noreply@github.com>2024-11-02 09:38:10 -0700
commitb360dfd5031e76c97257ef1b3e90385bf297e8ab (patch)
treee3cba22fe5198fe70dd50e1361454b384b89251b /llvm/lib/IR/Module.cpp
parentfcd51dee42792bf264d26ab4978eb0a3a3001728 (diff)
downloadllvm-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