Use real ThinVec in StmtDebugInfos - #159975
Conversation
|
(mostly empty) ThinVec has slightly different performance profile compared to our poor man's thin-vec ( I also changed some of the inline/outline combos in other methods, I kept it where it felt potentially useful, but I might have perturbed the performance profile because inlining is finicky. Long story short, I want to measure this to see whether these things make some noticable difference. @bors try @rust-timer queue Of course, non-empty variant has one less allocation, which is good, but this is extremely rare case, so I don't worry about perf changes there. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Use real ThinVec in StmtDebugInfos
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (168b7f9): comparison URL. Overall result: ❌ regressions - 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 -0.9%, secondary -4.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary 4.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary -0.0%, secondary -0.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 489.176s -> 489.973s (0.16%) |
|
wow, I expected some perturbation but this is surprisingly negative. Let me check the update by itself. |
|
Let's backtrack a bit and keep the option in there for now @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.
Use real ThinVec in StmtDebugInfos
This comment has been minimized.
This comment has been minimized.
|
Actually, the results here are very similar to results in #159928 (comment), so this might actually be just the thin-vec update. Let's wait for that perf run to confirm this. |
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (d58d011): comparison URL. Overall result: ❌ regressions - 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 (secondary -0.8%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary 5.6%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 486.74s -> 496.176s (1.94%) |
This comment has been minimized.
This comment has been minimized.
6383e30 to
52f0912
Compare
|
Let's recheck after the update has landed separately, now we should get proper results. @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.
Use real ThinVec in StmtDebugInfos
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (8f0457f): comparison URL. Overall result: ❌✅ regressions and improvements - no action neededBenchmarking means the PR may be perf-sensitive. Consider adding rollup=never if this change is not fit for rolling up. @rustbot label: -S-waiting-on-perf -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 -1.2%, secondary -2.3%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary -1.5%, secondary -2.3%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 490.165s -> 489.018s (-0.23%) |
|
The @rustbot label: +perf-regression-triaged |
52f0912 to
bbbe0e1
Compare
|
fixed tidy |
|
r? @davidtwco rustbot has assigned @davidtwco. Use Why was this reviewer chosen?The reviewer was selected based on:
|
View all comments
This is now possible, because thin vec has may_dangle Drop impl. Depends on #159974