about summary refs log tree commit diff
path: root/compiler/rustc_const_eval/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2025-02-04 23:47:45 +0000
committerbors <bors@rust-lang.org>2025-02-04 23:47:45 +0000
commite5f11af042ad099102efd572743138df60764a4e (patch)
treeceeb5544e9d09be5fde29bea094000587b87d564 /compiler/rustc_const_eval/src
parentbef3c3b01f690de16738b1c9f36470fbfc6ac623 (diff)
parent7f1231c986c26dcd1b519b81b78371a750db797a (diff)
downloadrust-e5f11af042ad099102efd572743138df60764a4e.tar.gz
rust-e5f11af042ad099102efd572743138df60764a4e.zip
Auto merge of #136115 - Mark-Simulacrum:shard-alloc-id, r=RalfJung
Shard AllocMap Lock

This improves performance on many-seed parallel (-Zthreads=32) miri executions from managing to use ~8 cores to using 27-28 cores, which is about the same as what I see with the data structure proposed in https://github.com/rust-lang/rust/pull/136105 - I haven't analyzed but I suspect the sharding might actually work out better if we commonly insert "densely" since sharding would split the cache lines and the OnceVec packs locks close together. Of course, we could do something similar with the bitset lock too.

Either way, this seems like a very reasonable starting point that solves the problem ~equally well on what I can test locally.

r? `@RalfJung`
Diffstat (limited to 'compiler/rustc_const_eval/src')
0 files changed, 0 insertions, 0 deletions