DestinationPropagation: compute liveness as ranges instead of traveling bitsets#156218
DestinationPropagation: compute liveness as ranges instead of traveling bitsets#156218cjgillot wants to merge 1 commit intorust-lang:mainfrom
Conversation
|
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
DestinationPropagation: compute liveness as ranges instead of traveling bitsets
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (a4f011b): comparison URL. Overall result: ✅ improvements - no action neededBenchmarking means the PR may be perf-sensitive. It's automatically marked not fit for rolling up. Overriding is possible but disadvised: it risks changing compiler perf. @bors rollup=never Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (secondary -1.6%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary 0.2%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary 0.1%, secondary 0.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 493.455s -> 495.948s (0.51%) |
The current implementation of
save_as_livenessis very slow, and consists in inserting a traveling bitset in an interval set.As the
MaybeLiveLocalshas a gen-kill property, we can leverage it to make it faster. "Gen" is creating a new interval. "Kill" is ending this interval, ripe to save in the interval set.