about summary refs log tree commit diff
path: root/compiler/rustc_session/src/options.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2025-03-24 11:40:33 +0000
committerbors <bors@rust-lang.org>2025-03-24 11:40:33 +0000
commit90f5eab952728ac6edcf529a171f7de5c25e5d49 (patch)
treeab619737a9270b71739d4dac3c655489a4d6051b /compiler/rustc_session/src/options.rs
parentb95aac6a98e43ee9d47cd05cb2d476610c51dcb7 (diff)
parent93bfe39ba574cff3f1d1df448f0b512e32578e7e (diff)
downloadrust-90f5eab952728ac6edcf529a171f7de5c25e5d49.tar.gz
rust-90f5eab952728ac6edcf529a171f7de5c25e5d49.zip
Auto merge of #115747 - Zoxc:query-hashes, r=oli-obk
Optimize hash map operations in the query system

This optimizes hash map operations in the query system by explicitly passing hashes and using more optimal operations. `find_or_find_insert_slot` in particular saves a hash table lookup over `entry`. It's not yet available in a safe API, but will be in https://github.com/rust-lang/hashbrown/pull/466.

<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.6189s</td><td align="right">1.6129s</td><td align="right"> -0.37%</td></tr><tr><td>🟣 <b>hyper</b>:check</td><td align="right">0.2353s</td><td align="right">0.2337s</td><td align="right"> -0.67%</td></tr><tr><td>🟣 <b>regex</b>:check</td><td align="right">0.9344s</td><td align="right">0.9289s</td><td align="right"> -0.59%</td></tr><tr><td>🟣 <b>syn</b>:check</td><td align="right">1.4693s</td><td align="right">1.4652s</td><td align="right"> -0.28%</td></tr><tr><td>🟣 <b>syntex_syntax</b>:check</td><td align="right">5.6606s</td><td align="right">5.6439s</td><td align="right"> -0.30%</td></tr><tr><td>Total</td><td align="right">9.9185s</td><td align="right">9.8846s</td><td align="right"> -0.34%</td></tr><tr><td>Summary</td><td align="right">1.0000s</td><td align="right">0.9956s</td><td align="right"> -0.44%</td></tr></table>

r? `@cjgillot`
Diffstat (limited to 'compiler/rustc_session/src/options.rs')
0 files changed, 0 insertions, 0 deletions