diff options
| author | Nicholas Nethercote <n.nethercote@gmail.com> | 2024-11-25 07:30:20 +1100 |
|---|---|---|
| committer | Nicholas Nethercote <n.nethercote@gmail.com> | 2024-11-29 17:23:32 +1100 |
| commit | ded4dfde19d0bbe526e64edb32931a2b42b2b848 (patch) | |
| tree | 779c833e9553f46be120927314773363efb16bd9 /compiler/rustc_mir_dataflow/src/framework/lattice.rs | |
| parent | ff780025663189ac7ec81d40a7cf309e45bd056a (diff) | |
| download | rust-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
