TLDR: Profile guided optimization was not supported on windows. That has been enabled now. So this only helps you if you are compiling on windows and want to go the extra mile of running PGO builds.
How Rust 1.64 became faster on Windows
11–20 of 80 posts
Re: How Rust 1.64 became faster on Windows
#12TLDR: Profile guided optimization was not supported on windows. That has been enabled now. So this only helps you if you are compiling on windows and want to go the extra mile of running PGO builds.
So compiling Rust code on Windows is faster with 1.64 than 1.63.
Re: How Rust 1.64 became faster on Windows
#13Earlier quoted context omitted.
I think your comments are being suppressed, they're all removed after you post. You might check on that.
https://news.ycombinator.com/newsfaq.html Look at the [dead] section
Re: How Rust 1.64 became faster on Windows
#14Great to see how huge the benefit of profile-guided optimization is. I feel it's one of the more underappreciated techniques. Rust adding support for it on windows, and showcasing what a big improvement it makes on the compiler is pretty big (in addition to just having a faster compiler)
The subtle win is the space savings, no more Jackson pollock inlining
Re: How Rust 1.64 became faster on Windows
#15What is the common consensus on benchmarking test suites in Rust? From what I understood: Criterion was the gold standard, but there is a built-in benchmark suite but that is only supported in Nightly. What’s the difference?
Criterion is still the gold standard. Pros for Criterion over the stdlib: https://github.com/bheisler/criterion.rs#features Downsides of Criterion: https://bheisler.github.io/criterion.rs/book/user_guide/know...
Re: How Rust 1.64 became faster on Windows
#16Re: How Rust 1.64 became faster on Windows
#17Earlier quoted context omitted.
https://news.ycombinator.com/newsfaq.html Look at the [dead] section
A single flagged comment and we've declared someone irredeemable. Amazing. https://news.ycombinator.com/item?id=31738035
Re: How Rust 1.64 became faster on Windows
#18I thought PGO instrumentation works on basic blocks, and the inlining, outlining, and register allocation optimisations are all done on llvm’s IR. So everything can happen in the backend. What sort of work is OS specific, or language specific? I’ve used PGO before, but I’m not familiar with the details.
FTA: But there is one problem: PGO was up until now available only on Linux.
I think they couldn’t use a profile generated on Linux because of differences in ABI and standard library.
I also think generating a profile is OS dependent because you want it to not have much of a performance impact.
Re: How Rust 1.64 became faster on Windows
#19Tldr: PGO https://github.com/rust-lang/rust/pull/96978/
Re: How Rust 1.64 became faster on Windows
#20It's great to see every speed up :)