Talks to Watch

C++ Exceptions for Smaller Firmware - Khalil Estell - CppCon 2024

23K views · Dec 6, 2024 · 1:24:36 · 5 HN recommenders · 7 mentions · discussed 2025–2026

Khalil Estell's CppCon 2024 talk argues C++ exceptions can reduce binary size in firmware. He digs into how exceptions work and how to shrink their code footprint on embedded platforms.

Why Hacker News points people here: Pointed to as the in-depth talk on exception mechanics and code size for embedded C++.

“In particular, his 2019 presentation [2] describes different error handling techniques”HN comment, 2025

What Hacker News said 7

Strongly recommendsinetknghtSep 2025

“the whole presentation was excellent in my opinion”

Deep dive into exception mechanics and code size

Full comment

> I don't have enough time to watch these kinds of presentations. Then let me pick and share some of my favorites that I found enlightening, and summarize with some information that I found useful. By far, the most useful one is Khalil Estell's presentation last year [0]. It's a fairly face paced but relatively deep dive into exception mechanics. At the end, he advocates for a new tool that would audit a program to determine what exceptions could be thrown. I think that's a flipping fantastic idea for a tool. Unfortunately I haven't seen any progress toward it -- if someone here knows where his tool is, or a similar tool, please reply! I did send him an email a few months ago inquiring about it, but haven't received a reply. Nonetheless, the whole presentation was excellent in my opinion. I did see that he had another related presentation at ACCU this year [4] with a topic of "C++ Exceptions are Code Compression" (which I totally can believe -- I've seen it myself in binary sizes), but I haven't seen his presentation yet. I'll watch it later today. Just about anything from Herb Sutter is good. I don't like that he works for Microsoft, but he does great stuff for C++, including the old Guru of the Week series [1]. In particular, his 2019 presentation [2] describes different error handling techniques, some difficulties and pitfalls in combining libraries with different error handling techniques, and leads up to explaining why std::expected came about. He does pontificate a lot

in “How is Ultrassembler so fast?” · view on HN
RecommendsbluGillFeb 2025

“Khalil Estell has some great work on that.”

Low-level technical look at how exceptions really work

Full comment

Khalil Estell has some great work on that. this video is one link - very low level technical of what is really happening. He has other talks and papers if you search his name.

in “Software development topics I've changed my mind on” · view on HN
RecommendsmpyneSep 2025

“A specific presentation I'd point to is Khalil Estell's presentation on reducing exception code size on embedded platforms”

Reducing exception code size on embedded platforms

Full comment

A specific presentation I'd point to is Khalil Estell's presentation on reducing exception code size on embedded platforms at this video But honestly you'd get vast majority of the benefit just by skimming through the slides at link With a couple of symbols you define yourself a lot of the associated g++ code size is sharply reduced while still allowing exceptions to work. (Slide 60 on)

in “How is Ultrassembler so fast?” · view on HN
Recommendsneonz80Nov 2025

“There was an interesting talk about C++ exceptions in smaller firmware at CppCon last year”

Exception overhead likely less than manual error handling

Full comment

There was an interesting talk about C++ exceptions in smaller firmware at CppCon last year: this video Basically, the overhead of exceptions is probably less than handling the same errors manually in any non-trivial program. Also, it's not like these table doesn't exist in other languages. Both Rust and Go have to unwind.

in “Async/Await is finally back in Zig” · view on HN
RecommendsdaeminMar 2026

“he mentions that a lot of the bloat in exception handling is including printf”

Explains bloat in exception handling for bare metal

Full comment

I just thought I'd mention that Khalil Estell is doing some work regarding exceptions in embedded and bare metal programming. In the first of his talks about this topic ( this video ) he mentions that a lot of the bloat in exception handling is including printf in order to print out the message when terminating the program. For those interested he has another presentation on this topic link

in “Practical Guide to Bare Metal C++” · view on HN
Cites itinetknghtSep 2025

Notes a later talk is a rehash of this one

Full comment

Update: it looks like link [4] is just a rehash of his talk from last year's cppcon [0]. [0]: this video [4]: link

in “How is Ultrassembler so fast?” · view on HN
Cites itvodouDec 2025

Listed alongside the ACCU talk on exceptions and code size

Full comment

Need to check it out. I guess you mean these: - C++ Exceptions Reduce Firmware Code Size, ACCU [1] - C++ Exceptions for Smaller Firmware, CppCon [2] [1]: link [2]: this video

in “The C++ standard for the F-35 Fighter Jet [video]” · view on HN