about summary refs log tree commit diff
path: root/compiler/rustc_mir_dataflow/src/framework/lattice.rs
diff options
context:
space:
mode:
authorNicholas Nethercote <n.nethercote@gmail.com>2024-11-25 07:30:20 +1100
committerNicholas Nethercote <n.nethercote@gmail.com>2024-11-29 17:23:32 +1100
commitded4dfde19d0bbe526e64edb32931a2b42b2b848 (patch)
tree779c833e9553f46be120927314773363efb16bd9 /compiler/rustc_mir_dataflow/src/framework/lattice.rs
parentff780025663189ac7ec81d40a7cf309e45bd056a (diff)
downloadrust-ded4dfde19d0bbe526e64edb32931a2b42b2b848.tar.gz
rust-ded4dfde19d0bbe526e64edb32931a2b42b2b848.zip
Speed up `ChunkedBitIter`
The current implementation is slow because it does an operation for
every bit in the set, even zero bits. So if you have a large bitset with
many zero bits (which is common) it's very slow.

This commit improves the iterator to skip over `Zeros` chunks in a
single step, and uses the fast `BitIter` for `Mixed` chunks. It also
removes the existing `fold` implementation, which was only there because
the old iterator was slow.
Diffstat (limited to 'compiler/rustc_mir_dataflow/src/framework/lattice.rs')
0 files changed, 0 insertions, 0 deletions