Welcome to the fifteenth post in my long-running “How to speed up the Rust compiler” series, and the first in 2023.| Nicholas Nethercote
Last week I requested help with some data analysis of the Rust compiler.| Nicholas Nethercote
TL;DR: This post describes LLVM optimization remarks that can useful to help the compiler better optimize your programs. If you want to analyze remarks generated from compiling Rust programs, you can use the cargo-remark tool.| Kobzol’s blog
In my recent post about the Rust compiler CI (continuous integration) and benchmarking infrastructure, I have promised to write a blog post about runtime benchmarks, which is a new addition to the benchmark suite of the Rust compiler. However, I realized that before doing that, it might be a good idea to first describe how does the benchmark suite actually work, what are its components and how is it used by the Rust compiler (rustc) developers, to introduce the necessary context. So, runtime ...| Kobzol’s blog
During the first half of 2023, I have continued my quest for optimizing the build, test and performance monitoring infrastructure of the Rust compiler. This post describes what has been done in this area, and serves a follow-up to my previous post on this topic. Note that possibly the biggest sub-project that I have worked on was the implementation of runtime benchmarks for the Rust benchmark suite, however I will dedicate a separate blog post for that (which I will hopefully publish in the n...| Kobzol’s blog
Last year I was working on improving the Profile-guided optimization (PGO) workflow used to build the Rust compiler. While doing that, I realized that while PGO works fine for Rust, it is not as straightforward to use and as discoverable as I would have liked. That led me to the creation of cargo-pgo, a Cargo subcommand that makes it easier to optimize Rust binaries with PGO (and BOLT, see below).| Kobzol’s blog
Update: see the follow-up post for responses and updated data sets.| Nicholas Nethercote
Valgrind 3.21 was released last week. The release announcement has the full details of the changes.| Nicholas Nethercote
It’s time to look at some of the progress on Rust compiler speed made since my last post in July.| Nicholas Nethercote