Why performant code matters (but gets widely ignored), with Casey Muratori
The Pragmatic Engineer
2 DAYS AGO
Why performant code matters (but gets widely ignored), with Casey Muratori
Why performant code matters (but gets widely ignored), with Casey Muratori

The Pragmatic Engineer
2 DAYS AGO
Unprocessed episode, you can be the first!
Shownote
Shownote
Brought to You By:
• Antithesis [https://antithesis.com/pragmatic] – verify your system’s
correctness without human review or traditional integration tests – and avoid
bugs or outages.
• Sentry [https://sentry.io/pragmatic] – application monitoring software
considered “not bad” by millions of developers.
• turbopuffer [https://turbopuffer.com/pragmatic] – a vector and full-text
search engine built on object storage. It’s fast, cheap, and extremely scalable.
—
There can be few people around who care about software performance more than
today’s pod guest, Casey Muratori [https://x.com/cmuratori]. He’s a programmer
and videogame developer, founder of Molly Rocket [https://mollyrocket.com], and
creator of Handmade Hero [https://hero.handmade.network/] – a long-running
series about building a game from scratch. He also evangelizes about performance
[https://www.computerenhance.com/p/welcome-to-the-performance-aware] on his
Substack, Computer, Enhance [https://www.computerenhance.com/].
We got to know each other about three years ago, first via messages, including
this one from Casey:
“Why does the industry zeitgeist place so little emphasis on software
performance when there seems to be overwhelming evidence that performance is
critical to their bottom line?
Like you, I run a Substack for professional programmers, but I focus exclusively
on software performance. Although we are quite large by Substack standards, so a
certain subset of programmers must believe performance is important, I
nonetheless hear lots of dismissive excuses when I post on social media. This
happens so frequently, I devoted an entire article to cataloging the extensive
pro-performance evidence we already have from the world's leading software
companies: Performance Excuses Debunked
[https://www.computerenhance.com/p/performance-excuses-debunked].
Strangely, nobody has a rebuttal to why performance is important. When I point
people to this, they actually tend to agree. But the prevailing attitude
nonetheless stays the same.”
I’m delighted we finally have Casey on the podcast because it’s overdue! In this
episode, we discuss why software performance matters, why it’s overlooked, and
how developers can get better at writing performant code. We explore why
performance should be considered during design, the value of learning to read
assembly & understanding how CPUs work, Casey’s critique of ‘clean code’, and
why he believes testing shouldn't drive software design.
We touch on how videogame development has changed, and influential game engines.
Casey also tells us why he prefers to write code by hand, not with AI, and more.
—
Timestamps
00:00 Intro
05:17 Games at Microsoft
12:52 Building games
16:00 Why performance matters
27:12 Why you should learn to read assembly
30:36 Designing for optimization
42:51 How to get better at writing performant software
49:04 Understanding how the CPU works
55:53 Building games then and now
1:05:56 How game engines changed building games
1:10:48 Why new games compete with old games
1:13:25 GTA 6: why is it taking so long?
1:16:59 Casey’s critique of clean code
1:21:48 Casey’s take on TDD
1:24:30 What is good code?
1:27:32 What makes a good software engineer?
1:33:56 Why Casey doesn’t code with AI
1:39:01 AI’s impact on the game industry
1:44:43 AI and burnout
1:50:21 Why you should read papers
—
The Pragmatic Engineer deepdives relevant for this episode:
•Pushing software engineering limits with “napkin math”
[https://newsletter.pragmaticengineer.com/p/pushing-software-engineering-limits]
with Simon Eskildsen
•How Games Typically Get Built
[https://newsletter.pragmaticengineer.com/p/how-games-typically-get-built]:
prototyping, game engines, and a different type of QA
•Game Development Basics
[https://newsletter.pragmaticengineer.com/p/game-development-basics]: deepdive
on how game studios differ from standard software teams
•Inside Linear's Engineering Culture
[https://newsletter.pragmaticengineer.com/p/linear]: building a performant
product with a tiny team
•Building a best-selling game with a tiny team
[https://newsletter.pragmaticengineer.com/p/thronefall] – with Jonas Tyroller. A
two-person team built a game that sold 1M+ copies
More on premature optimization: read or watch Casey’s extended take on
“premature optimization is the root of all evil”:
https://www.computerenhance.com/p/theroot
[https://www.computerenhance.com/p/theroot]
—
Production and marketing by
[https://penname.co/]https://penname.co/
[https://newsletter.pragmaticengineer.com/p/engineers-leading-projects]. For
inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com.
Get full access to The Pragmatic Engineer at
newsletter.pragmaticengineer.com/subscribe
[https://newsletter.pragmaticengineer.com/subscribe?utm_medium=podcast&utm_campaign=CTA_4]
Highlights
Highlights
Chapters
Chapters
Transcript
Transcript
