Top all-time · #976
Nicholas Nethercote
Personal blog · nnethercote.github.ioprogrammingsystems
Nicholas Nethercote's personal blog at nnethercote.github.io covers programming and systems. Since 2020, 67 different Hacker News readers have linked it 97 times, most often “Faster Rust Builds on Mac”. It is still writing: the last post was on 2026-09-30, and you can follow it by feed.
Rarely recommended · 5 of 40 sampled comments recommend it?
Why HN links it
Linked for Rust compiler performance work: his rustc speed-up write-ups and the Rust Performance Book, cited for profiling, hashing, heap allocations, inlining and build settings.
- Recommended for · 5 comments
- Perf book 'a nice place to start'; 'good discussion' of heap allocations; compiler writeups 'satisfying to read'.
Summarised by Claude from a sample of 40 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Be kind and be useful.
Most-linked posts?
- Faster Rust Builds on Mac8 people · 8 mentions · first linked 2025-09-04
- The Rust Performance Book (2020)7 people · 7 mentions · first linked 2020-11-17
- A brutally effective hash function in Rust5 people · 5 mentions · first linked 2021-12-08
- How to speed up the Rust compiler in March 20234 people · 5 mentions · first linked 2023-03-23
- The Rust compiler has gotten faster again4 people · 4 mentions · first linked 2021-11-12
- How much code does that proc macro generate?4 people · 4 mentions · first linked 2025-06-26
- Back-end parallelism in the Rust compiler3 people · 4 mentions · first linked 2023-07-11
- /3 people · 3 mentions · first linked 2025-02-28
- How to speed up the Rust compiler in March 20242 people · 3 mentions · first linked 2024-03-05
- How to speed up the Rust compiler: data analysis assistance requested2 people · 2 mentions · first linked 2023-07-25
What Hacker News says?
Pretty good news day for Rust between this, min_const_generics stabilizing[0], and CXX 1.0 (including a nice "book")[1] being released. EDIT: Oh, and the Rust performance book[2]. [0]: https://github.com/rust-lang/rust/pull/79135 [1]: https://cxx.rs [2]: https://nnethercote.github.io/perf-book/
Comment linking /perf-book/
on “Servo’s new home”Submitted Twenty years of Valgrind as a story · 626 points
HN discussion>Has there been much improvement in compile times in the past ~2 years? Yes. Source: https://nnethercote.github.io/2021/11/12/the-rust-compiler-h... In my experience, compile times are more a function of project structure than anything else. The compilation unit is a crate, so keep your crates nice and small, and you'll be fine.
Comment linking /2021/11/12/the-rust-compiler-has-gotten-faster-again.html
on “Rust support in the Linux kernel”Submitted How to speed up the Rust compiler in September 2026 as a story · 284 points
HN discussionFew reports comparing Cranelift to LLVM from this day old reddit thread [1] - 29.52s -> 24.47s (17.1%) - 27s -> 19s (29.6%) - 11.5s -> 8.4s (26.9%) - 37.5s -> 29.6s (28.7%) - this measurement from TFA. To put these numbers in context, all the perf improvements over the last 4 years have helped the compiler become faster on a variety of workloads by 7%, 17%, 13% and 15%, for an overall speed gain of 37% over 4 years.…
Comment linking /2024/03/06/how-to-speed-up-the-rust-compiler-in-march-2024.html
on “Cranelift code generation comes to Rust”Submitted Twenty Years of Valgrind (2022) as a story · 223 points
HN discussionMy favorite is still the Rust Container Cheat Sheet[0] from the Rust Performance Book[1]. Great overview on just one page - that's what I call a cheat sheet. Edit: Also recommended: The Little Book of Rust Macros[2] [0] https://docs.google.com/presentation/d/1q-c7UAyrUlM-eZyTo1pd... [1] https://nnethercote.github.io/perf-book/title-page.html [2] https://veykril.github.io/tlborm/introduction.html
Comment linking /perf-book/title-page.html
on “Rust Language Cheat Sheet”Submitted The Rust Performance Book (2020) as a story · 213 points
HN discussionI admire Daniel Lemire’s work on SIMD implementations. [Lemire] [Lemire] https://lemire.me/en/#publications I learn a lot by reading my compiler’s and profiler’s documentation. For Rust, the Rust Performance Book by Nicholas Nethercote et al. [Nethercote] seems like a nice place to start after reading the Cargo and rustc books. [Nethercote] https://nnethercote.github.io/perf-book/ Algorithms for Modern Hardware by S…
Comment linking /perf-book/
on “Ask HN: How can I learn about performance optimization?”Submitted The Rust compiler has gotten faster again as a story · 200 points
HN discussionThere's something about real optimization stories that I find fascinating – particularly the detailed ones including step-by-step improvements and profiling to show how numbers got better. In some way, they are satisfying to read. Nicholas Nethercote's "How to speed up the Rust compiler" writings[1] fall into this same category for me. Any others? [1] https://nnethercote.github.io/
Comment linking /
on “Improving performance of rav1d video decoder”Submitted The Rust Performance Book (2020) as a story · 194 points
HN discussion> Second (and a much worse problem) are macros. They actually hit the same issue. A macro that expands to 10s or 100s of lines can very quickly take your 10000 line project and turn it into a million line behemoth. Recently, support as added to help people analyze this See https://nnethercote.github.io/2025/06/26/how-much-code-does-...
Comment linking /2025/06/26/how-much-code-does-that-proc-macro-generate.html
on “Why is the Rust compiler so slow?”Submitted How to speed up the Rust compiler in 2022 as a story · 174 points
HN discussionContrary to what you say, rust compilation speed is a top priority for rustc developers. Rust compiler times have gone down YoY every year for the past few years. See, eg, https://nnethercote.github.io/2021/11/12/the-rust-compiler-h...
Comment linking /2021/11/12/the-rust-compiler-has-gotten-faster-again.html
on “Why is my Rust build so slow?”Submitted The Rust Performance Book as a story · 153 points
HN discussionPersonally I've been inspired by nnethercote's logs ( https://nnethercote.github.io/ ) of incremental single-digit percentage performance improvements to rustc over the past several years. The serial portion of compilers is still quite significant and efforts to e.g. parallelize the entire rustc frontend are heroic slogs that have run into subtle semantic problems (deadlocks and races) that have made it very hard to…
Comment linking /
on “Distributed systems programming has stalled”Submitted How to speed up the Rust compiler in October 2022 as a story · 75 points
HN discussionAny use of `println` in Rust is going to have its performance dominated by repeatedly locking stdout and flushing the buffer every time. It's a bit of an obscure fact (since most programs aren't bottlenecked on printing), but `println` in Rust is kind of just supposed to be a convenience for hello world and print-debugging. Rust provides `writeln` for serious use, which is more verbose but allows you more fine-grain…
Comment linking /perf-book/io.html
on “A little story about the `yes` Unix command”Submitted How to speed up the Rust compiler in April 2022 as a story · 74 points
HN discussion(5) is pretty irrelevant, ABI isn't language. You can strap basically any language on top of the C ABI. Many contender languages either use it natively or offer low-cost/no-cost C ABI bindings, specifically as its the lingua franca ABI. You can check (5) off your list if your choice of replacement language has easy C ABI interop. [edit] (1) isn't particularly relevant either. These days the tooling for detecting mem…
Comment linking /2022/01/05/rust-and-valgrind.html
on “The case against a C alternative”Submitted How to speed up the Rust compiler in March 2024 as a story · 35 points
HN discussionPrint version (full page) https://nnethercote.github.io/perf-book/print.html
Comment linking /perf-book/print.html
on “The Rust Performance Book (2020)”Submitted The Rust Performance Book (2020) as a story · 33 points
HN discussionOne additional data point: The Rust compiler got ~2% faster when they made some of the core traits in the serializer infallible (ie. panic instead of using Result): https://github.com/rust-lang/rust/pull/93066 Writeup from the contributor: https://nnethercote.github.io/2022/02/25/how-to-speed-up-the... > The Decoder trait used for metadata decoding was fallible, using Result throughout. But decoding failures should…
Comment linking /2022/02/25/how-to-speed-up-the-rust-compiler-in-2022.html
on “Using unwrap() in Rust is okay”Submitted How to speed up the Rust compiler in December 2025 as a story · 25 points
HN discussionIf you can assure that bounds checks are not necessary (either by construction, because it's a statically sized array, or by runtime check because you do a length check once at runtime), then doing those same things will tell rustc enough to know that bounds checks aren't needed[1][2]. If you think you don't need bounds checks, but can't communicate that in code, such as with an assertion (or if rustc had a bug that…
Comment linking /perf-book/bounds-checks.html
on “Rewrite the VP9 codec library in Rust”Submitted How to speed up the Rust compiler in July 2022 as a story · 14 points
HN discussionYes, the default implementation of hashing in Rust is designed to be cryptographically-safe at the expense of speed. You can get a large speedup by replacing it, e.g. https://nnethercote.github.io/perf-book/hashing.html .
Comment linking /perf-book/hashing.html
on “Go: Sentinel errors and errors.Is() slow your code down by 3000%”Submitted Faster Rust Builds on Mac as a story · 13 points
HN discussion