-
-
Notifications
You must be signed in to change notification settings - Fork 14.8k
Performance regression in 1.48.0 #79246
Copy link
Copy link
Closed
Labels
I-slowIssue: Problems and improvements with respect to performance of generated code.Issue: Problems and improvements with respect to performance of generated code.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-stablePerformance or correctness regression from one stable version to another.Performance or correctness regression from one stable version to another.
Metadata
Metadata
Assignees
Labels
I-slowIssue: Problems and improvements with respect to performance of generated code.Issue: Problems and improvements with respect to performance of generated code.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-stablePerformance or correctness regression from one stable version to another.Performance or correctness regression from one stable version to another.
Type
Fields
Give feedbackNo fields configured for issues without a type.
Hello everyone!
We detected a performance regression on a closed-source project after an upgrade of rust from version
1.47.0to version1.48.0.The benchmark we run internally are using the low-level
perf_event_openLinux API to measure various hardware performance counters on specific code section.The most stable and reliable counter we care about is the number of retired instructions, corresponding to
instructions:uin classicperfoutput.On certain datasets, the regressions are up to +16% in the number of instructions executed.
I used
cargo-bisect-rustcas instructed on https://rust-lang.zulipchat.com/#narrow/stream/122651-general/topic/Performance.20regressions.20in.201.2E48.2E0 in order to search for the commit that introduced the regression:bisected with cargo-bisect-rustc v0.6.0
Host triple: x86_64-unknown-linux-gnu
Reproduce with:
The bisection points to #70793
I was able to reproduce the regression on two different machines.
I will also try to provide a minimized code example to reproduce the issue but that will take some time as the code being measured is quite big.
If anyone else has noticed this regression and could help me towards tools / ideas / whatever that could be of help to reproduce the issue would greatly appreciated!
EDIT:
MCVE at https://github.com/marmeladema/bitvec-perf-regression