diff options
| author | bors <bors@rust-lang.org> | 2023-09-11 01:43:29 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2023-09-11 01:43:29 +0000 |
| commit | 9b72cc9abf35f82e90cdc5fc54287e87aa2d3aeb (patch) | |
| tree | 7f2f8529afbc76e7cf10ce6195793eb44426715f /compiler/rustc_llvm/llvm-wrapper/ArchiveWrapper.cpp | |
| parent | 9d311f9e2d7dd06b468fcf917d611ff8883ad5d6 (diff) | |
| parent | 9690142bef648b88a4f8d87000f5edeacb0cc0a5 (diff) | |
| download | rust-9b72cc9abf35f82e90cdc5fc54287e87aa2d3aeb.tar.gz rust-9b72cc9abf35f82e90cdc5fc54287e87aa2d3aeb.zip | |
Auto merge of #115388 - Zoxc:sharded-lock, r=SparrowLii
Add optimized lock methods for `Sharded` and refactor `Lock` This adds methods to `Sharded` which pick a shard and also locks it. These branch on parallelism just once instead of twice, improving performance. Benchmark for `cfg(parallel_compiler)` and 1 thread: <table><tr><td rowspan="2">Benchmark</td><td colspan="1"><b>Before</b></th><td colspan="2"><b>After</b></th></tr><tr><td align="right">Time</td><td align="right">Time</td><td align="right">%</th></tr><tr><td>🟣 <b>clap</b>:check</td><td align="right">1.6461s</td><td align="right">1.6345s</td><td align="right"> -0.70%</td></tr><tr><td>🟣 <b>hyper</b>:check</td><td align="right">0.2414s</td><td align="right">0.2394s</td><td align="right"> -0.83%</td></tr><tr><td>🟣 <b>regex</b>:check</td><td align="right">0.9205s</td><td align="right">0.9143s</td><td align="right"> -0.67%</td></tr><tr><td>🟣 <b>syn</b>:check</td><td align="right">1.4981s</td><td align="right">1.4869s</td><td align="right"> -0.75%</td></tr><tr><td>🟣 <b>syntex_syntax</b>:check</td><td align="right">5.7629s</td><td align="right">5.7256s</td><td align="right"> -0.65%</td></tr><tr><td>Total</td><td align="right">10.0690s</td><td align="right">10.0008s</td><td align="right"> -0.68%</td></tr><tr><td>Summary</td><td align="right">1.0000s</td><td align="right">0.9928s</td><td align="right"> -0.72%</td></tr></table> cc `@SparrowLii`
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/ArchiveWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
