CppCon 2017: Matt Godbolt “What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid”
CppCon7 HN recommenders · recommended in 6 months, 2018–2022
talk · intermediate · evergreen · 2018–2022 on HN
Matt Godbolt's CppCon 2017 talk shows what modern compilers do with your C++ code, using Compiler Explorer to inspect generated assembly. It covers surprising optimizations and how the tool works.
HN recommends it as an entertaining, mind-blowing look at compiler cleverness from a great speaker.
Up next
3 mo on HNC++Now 2018: Matt Godbolt “What Else Has My Compiler Done For Me Lately?”
CppNow
3 HN recommender · 2018–2020
3 mo on HNCppCon 2017: Chandler Carruth “Going Nowhere Faster”
CppCon
2 HN recommender · 2017–2026
2 mo on HNIndia's Semiconductor Failure
Asianometry
2 HN recommender · 2021–2025
2 mo on HNCopper vs Pex vs SharkBite - Freeze Testing
Matt Risinger
2 HN recommender · 2018–2022
11 mo on HNU.S. NAVY BASIC MECHANISMS OF FIRE CONTROL COMPUTERS MECHANICAL COMPUTER INSTRUCTIONAL FILM 27794
PeriscopeFilm
11 HN recommender · 2018–2026
8 mo on HNThe Extreme Engineering of ASML’s EUV Light Source
Asianometry
11 HN recommender · 2022–2025
1 mo on HNTypeScript types can run DOOM
Michigan TypeScript
1 HN recommend · 2025–2025
11 mo on HN"Testing Distributed Systems w/ Deterministic Simulation" by Will Wilson
Strange Loop Conference
12 HN recommender · 2014–2024
13 mo on HNRich Harris - Rethinking reactivity
You Gotta Love Frontend
15 HN recommender · 2019–2026
12 mo on HNLexical Scanning in Go - Rob Pike
GoogleFOSSSydney
13 HN recommender · 2012–2025
12 mo on HNWilliam Byrd on "The Most Beautiful Program Ever Written" [PWL NYC]
PapersWeLove
11 HN recommender · 2017–2026
10 mo on HNCppCon 2016: Jason Turner “Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17”
CppCon
13 HN recommender · 2016–2024
12 comments from Hacker News
I highly recommend Matt Godbolt's talk "What has my compiler done for me lately?"[0] and its follow-up[1]. Both are great presentations going into details on some of the crazy optimizations compilers will do. As someone who knows very little about the inner workings of compilers my mind was blown when I saw some them. [0] ▶ this video [1] link
Matt Godbolt is a great speaker as well. I loved this talk that included a bit about the architecture behind his Compiler Explorer. The rest of his talk is super cool as well. E.g. closed form solutions from O(n) code? Compilers are awesome. ▶ this video
Link to the (great) CppCon talk: ▶ this video The one thing I would say is: as you dig more into C++ perf, you can develop an intuition for the kinds of things the compiler can and can't optimize. For instance, the C++ example from the article uses `std::unordered_map`, which is just an absolute mess from a cache locality perspective—the best compilers today (or of the foreseeable future) can't do a thing to fix that. Improving the programmer's choice of data structure is just not on the radar. :(
Tangent, but this reminds me of this great talk by Matt Godbolt from CppCon 2017: “What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid” ▶ this video . And the follow up link .
But please keep in mind that today's compilers are (most of the time) very smart. Hacker's Delight is somewhat outdated today. There's no need anymore for writing "x << 2" instead of "x * 4". I recommend Matt Godbolt's Talk(s) about compiler cleverness: ▶ this video (see the 30 minute mark for the multiplication example)
What has my compiler done for me lately? - Matt Godbolt ▶ this video Entertaining talk, not extremely in depth, though.
CppCon has super interesting content. That comes from a person who has written maybe two dozen lines of C++ code, mostly just hello world. E.g. this talk by Matt Godbolt or anything by Chadler Carruth. ▶ this video
You should check out this presentation done by Matt Godbolt about compiler internals. He talks about what kind of optimizations are being done by GCC and Clang. Pretty amazing stuff. For example, the compiler will figure out you are trying to write a pop count in high level code and replace it with a single popcount instruction. ▶ this video
It's the CppCon 2017 talk with the title "What has my compiler done for me lately? Unbolting the compiler's lid". The Compiler Explorer backstory starts here: ▶ this video
If you are wondering how it works, here is Matt Godbolt himself explaining it. Surprisingly simple and cheap. ▶ this video
There's a neat example in [1] where clang replaces a loop summing integers 0..i with the closed form version. [1] ▶ this video
Doesn't look like it works any more. In any case, Matt Godbolt has spoken a bit about the architecture of Compiler Explorer. Seems like he's given some thought to security. ▶ this video link