rust/compiler/rustc_index/src
bors 6351247048 Auto merge of #120024 - Mark-Simulacrum:fast-union-merge, r=cjgillot
Merge into larger interval set

This reduces the work done while merging rows. In at least one case (#50450), we have thousands of union([range], [20,000 ranges]), which previously inserted each of the 20,000 ranges one by one. Now we only insert one range into the right hand set after copying the set over.

This cuts the runtime of the test case in #50450 from ~26 seconds to ~6 seconds locally, though it doesn't change the memory usage peak (~9.5GB).
2024-01-27 22:26:37 +00:00
..
bit_set Fix cloning from a BitSet with a different domain size 2022-07-08 11:41:36 +02:00
interval correct the test if IntervalSet 2022-06-08 22:44:26 +08:00
vec Replace no_ord_impl with orderable. 2023-11-22 18:38:17 +11:00
bit_set.rs Remove uses of HybridBitSet. 2024-01-22 22:53:20 +00:00
idx.rs Split {Idx, IndexVec, IndexSlice} into their own modules 2023-04-24 13:53:35 +00:00
interval.rs Merge into larger interval set 2024-01-16 10:21:55 -05:00
lib.rs Remove unused features 2024-01-25 14:01:33 +00:00
slice.rs const-ify some {IndexVec, IndexSlice} methods 2023-04-24 13:53:37 +00:00
vec.rs Update compiler/rustc_index/src/vec.rs 2024-01-26 08:37:37 +01:00