Optimize Clippy with PGO#159642
Conversation
|
@bors try |
This comment has been minimized.
This comment has been minimized.
Optimize Clippy with PGO
|
@rust-timer queue profiles=Check,Debug,Opt,Doc,Clippy |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
💔 Test for 2dc0eb1 failed: CI. Failed job:
|
This comment has been minimized.
This comment has been minimized.
2517a15 to
f2e4e7c
Compare
|
@bors try |
This comment has been minimized.
This comment has been minimized.
Optimize Clippy with PGO
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (3542ef2): comparison URL. Overall result: no relevant changes - 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 countThis perf run didn't have relevant results for this metric. Max RSS (memory usage)Results (primary -2.1%, secondary -0.8%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 2.5%, secondary -3.2%)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.164s -> 485.416s (-0.15%) |
|
@bors try jobs=dist-x86_64-linux @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Optimize Clippy with PGO try-job: dist-x86_64-linux
f2e4e7c to
d98823e
Compare
This comment has been minimized.
This comment has been minimized.
|
I forgot to include the Clippy benchmarks 🤦♂️ @bors try jobs=dist-x86_64-linux |
This comment has been minimized.
This comment has been minimized.
Optimize Clippy with PGO try-job: dist-x86_64-linux
|
On https://github.com/It4innovations/hyperqueue, this is locally a 7-8% wall-time win, nice! |
|
Finished benchmarking commit (9e8b7aa): comparison URL. Overall result: no relevant changes - 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 countThis perf run didn't have relevant results for this metric. Max RSS (memory usage)This perf run didn't have relevant results for this metric. CyclesResults (secondary 0.1%)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.905s -> 487.72s (0.17%) |
|
@rust-timer build def8243 profiles=Clippy |
This comment has been minimized.
This comment has been minimized.
|
@bors try Starting a fast try build, which should not build/optimize Clippy. |
This comment has been minimized.
This comment has been minimized.
Optimize Clippy with PGO
|
Finished benchmarking commit (def8243): comparison URL. Overall result: no relevant changes - 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 countThis perf run didn't have relevant results for this metric. Max RSS (memory usage)This perf run didn't have relevant results for this metric. CyclesThis perf run didn't have relevant results for this metric. Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 485.602s -> 486.897s (0.27%) |
|
@bors try jobs=dist-x86_64-linux @rust-timer queue profiles=Clippy |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Optimize Clippy with PGO try-job: dist-x86_64-linux
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (caf6734): 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 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.1%, secondary -2.1%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary -5.3%, secondary -5.5%)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.724s -> 487.519s (0.16%) |

View all comments
After rustdoc and Cargo, this seemed like an obvious target for PGO.
Perf results: https://perf.rust-lang.org/compare.html?start=390279b302ca98ae270f434100ae3730531d1246&end=caf67342a544d6eab7a40ebf0d02e802f62008a4&stat=instructions:u
The Clippy benchmarks are not that fast, the full time duration is now ~3h 20m. Maybe we should wait for Mark's new try build hardware before landing this, but it is borderline.