Skip computing extra liveness info if borrow_set is empty - #161252
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
|
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
Skip computing extra liveness info if borrow_set is empty
|
Disclosure: An LLM was used to dig into the icu4x (and other) regressions, and identified that that and other cases have no loans - and so that this is a candidate fix. |
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (4b205ca): comparison URL. Overall result: ❌✅ regressions and improvements - please read:Benchmarking 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. Next, please: If you can, justify the regressions found in this try perf run in writing along with @bors rollup=never rustc-perf Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary 1.3%, secondary 1.2%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesThis perf run didn't have relevant results for this metric. Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 468.493s -> 459.261s (-1.97%) |
|
The small regressions in the perf run look like noise to me. r=me with:
@rustbot author |
052c0b5 to
d578849
Compare
This comment was marked as resolved.
This comment was marked as resolved.
This comment has been minimized.
This comment has been minimized.
d578849 to
ea0a481
Compare
|
@bors r=lqd |
This comment has been minimized.
This comment has been minimized.
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing a872286 (parent) -> c656540 (this PR) Test differencesNo test diffs found Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard c656540d6467dee1381f0cbd882412d6bd1cd5ae --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
Finished benchmarking commit (c656540): comparison URL. Overall result: ❌✅ regressions and improvements - please read:Our benchmarks found a performance regression caused by this PR. Next Steps:
@rustbot label: +perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary 3.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary -0.6%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary 0.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 468.499s -> 470.079s (0.34%) |
|
@rustbot label: +perf-regression-triaged As mentioned above (#161252 (comment)), regressions are maybe noise and definitely outweighed by the improvements. |
With polonius alpha, we currently compute liveness for a larger set of locals than NLL. However, this extra liveness only matters if there are borrows; so we can skip the extra work if there aren't any.
r? lqd