SE Radio 577: Casey Muratori on Clean Code, Horrible Performance?

Topics covered
Popular Clips
Episode Highlights
Bottlenecks
Performance bottlenecks often arise from poor architectural decisions, leading to inefficiencies in system operations. highlights how designing systems to accommodate the slowest component can solidify low performance across the architecture. This approach makes future optimizations challenging, as seen in real-world examples from companies like Facebook, where backend improvements were nullified by sluggish frontends 1.
We've solidified low performance into our architecture, which I again wouldn't approve of.
---
Additionally, network-based programs often suffer from I/O bound challenges due to inefficient communication patterns, further exacerbating performance issues 2.
Optimization
Misunderstandings about optimization can lead to inefficient code. argues that premature optimization, often misunderstood, can result in complex, hard-to-maintain code without significant performance gains. He emphasizes that optimization should be considered throughout the development process, not just at the end 3.
Don't just hand optimize some routine, because now you're into hand optimization because you're making life worse for everybody else.
---
Muratori also challenges the notion that many applications are inherently I/O bound, suggesting that poor structuring often creates these bottlenecks 4.
Performance
Performance is crucial for user engagement and business success. points out that faster software leads to more user interactions and higher profits, as evidenced by research from major tech companies like Google and Microsoft 5. Despite this, many developers overlook performance, assuming it can be addressed later, which Muratori argues is a flawed approach.
Performance really matters in practice, and we have copious data that says that that's true.
---
He encourages engineers to prioritize performance from the start, as it significantly impacts both user experience and revenue 6.
Related Episodes


SE-Radio Episode 357: Adam Barr on Code Quality
Answers 383 questions

SE Radio 554: Adam Tornhill on Behavioral Code Analysis
Answers 383 questions

SE-Radio Episode 268: Kief Morris on Infrastructure as Code
Answers 383 questions

SE Radio 637: Steve Smith on Software Quality
Answers 383 questions

SE-Radio Episode 251: Martin Klose on Code Retreats
Answers 383 questions

SE-Radio Episode 310: Kirk Pepperdine on Performance Optimization
Answers 383 questions

SE Radio 618: Andreas Møller on No-Code Platforms
Answers 383 questions

SE Radio 628: Hans Dockter on Developer Productivity
Answers 383 questions

SE-Radio Episode 262: Software Quality with Bill Curtis
Answers 383 questions

SE-Radio Episode 295: Michael Feathers on Legacy Code
Answers 383 questions

SE Radio 597: Coral Calero Muñoz and Félix García on Green Software
Answers 383 questions

SE-Radio Episode 324: Marc Hoffmann on Code Test Coverage Analysis and Tools
Answers 383 questions

SE Radio 617: Frances Buontempo on Modern C++
Answers 383 questions

SE Radio 638: Nick Tune and Jean-Georges Perrin on Architecture Modernization
Answers 383 questions













