diff options
| author | Martin Gammelsæter <martin@mg.am> | 2022-03-07 19:06:42 +0100 |
|---|---|---|
| committer | Martin Gammelsæter <martin@mg.am> | 2022-03-07 19:06:42 +0100 |
| commit | 4d38f15ede817548ffae1da49705489c1d735243 (patch) | |
| tree | e21d762cf578980a8d10915811cb9671be47665a /compiler | |
| parent | 297273c45b205820a4c055082c71677197a40b55 (diff) | |
| download | rust-4d38f15ede817548ffae1da49705489c1d735243.tar.gz rust-4d38f15ede817548ffae1da49705489c1d735243.zip | |
Add comment linking to closed PR for future optimizers
While optimizing these operations proved unfruitful w.r.t. improving compiler performance right now, faster versions might be needed at a later time.
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/rustc_index/src/bit_set.rs | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/compiler/rustc_index/src/bit_set.rs b/compiler/rustc_index/src/bit_set.rs index 12bde029494..d7e5c2b6056 100644 --- a/compiler/rustc_index/src/bit_set.rs +++ b/compiler/rustc_index/src/bit_set.rs @@ -654,15 +654,19 @@ impl<T: Idx> BitRelations<ChunkedBitSet<T>> for ChunkedBitSet<T> { impl<T: Idx> BitRelations<HybridBitSet<T>> for ChunkedBitSet<T> { fn union(&mut self, other: &HybridBitSet<T>) -> bool { - // FIXME: this is slow if `other` is dense, and could easily be - // improved, but it hasn't been a problem in practice so far. + // FIXME: This is slow if `other` is dense, but it hasn't been a problem + // in practice so far. + // If a a faster implementation of this operation is required, consider + // reopening https://github.com/rust-lang/rust/pull/94625 assert_eq!(self.domain_size, other.domain_size()); sequential_update(|elem| self.insert(elem), other.iter()) } fn subtract(&mut self, other: &HybridBitSet<T>) -> bool { - // FIXME: this is slow if `other` is dense, and could easily be - // improved, but it hasn't been a problem in practice so far. + // FIXME: This is slow if `other` is dense, but it hasn't been a problem + // in practice so far. + // If a a faster implementation of this operation is required, consider + // reopening https://github.com/rust-lang/rust/pull/94625 assert_eq!(self.domain_size, other.domain_size()); sequential_update(|elem| self.remove(elem), other.iter()) } |
