We've learned to rely on sophisticated frameworks and fast engines so much that we're slowly forgetting how computers work. With modern development tools, it's easy to locate the exact code that's slowing down your application, but what do you do next? Why exactly is it slow, and how do you make it fast? Time to regain the lost art of algorithmic performance optimization! Software performance is all about recognizing and eliminating unnecessary work. You can learn to do this intuitively, and eventually you'll be able to write code that's fast from the start, by default. Let me show you how — on practical, real-world cases of optimizing popular open source libraries, PR by PR.