]> git.lizzy.rs Git - rust.git/commit
Use `HybridBitSet` for rows within `SparseBitMatrix`.
authorNicholas Nethercote <nnethercote@mozilla.com>
Tue, 18 Sep 2018 04:21:41 +0000 (14:21 +1000)
committerNicholas Nethercote <nnethercote@mozilla.com>
Tue, 18 Sep 2018 06:41:27 +0000 (16:41 +1000)
commit154be2c98cf348de080ce951df3f73649e8bb1a6
treecce7968ee76b89da3371ec8fe07e47348b5507be
parent687cc292fd681be9739dc973acd5eaa5f73a5ce7
Use `HybridBitSet` for rows within `SparseBitMatrix`.

This requires adding a few extra methods to `HybridBitSet`. (These are
tested in a new unit test.)

This commit reduces the `max-rss` for `nll-check` builds of `html5ever`
by 46%, `ucd` by 45%, `clap-rs` by 23%, `inflate` by 14%. And the
results for the `unic-ucd-name` crate are even more impressive: a 21%
reduction in instructions, a 60% reduction in wall-time, a 96%
reduction in `max-rss`, and a 97% reduction in faults!

Fixes #52028.
src/librustc_data_structures/bit_set.rs
src/librustc_mir/borrow_check/nll/region_infer/values.rs
src/librustc_mir/borrow_check/nll/type_check/liveness/trace.rs