Bartosz fell in love with Python ever since he’d discovered the reference manual for 2.4, and he’s never looked back. During the last decade he’s been building reliable, data-intensive systems with NumPy and varying levels of Unix wizardry. He lives in San Francisco now, and all is well.
This talk will teach you more than you ever wanted to know about measuring and improving the performance of your Python code - even if your program is actually spending most of its time somewhere else. We'll cover a set of improvements in VMProf that make it possible to measure your code all the way down to the C level with next to no overhead - so that you can profile all the code, all the time.
How would you diagnose a performance issue after is had already happened? How can you tell if your code is about to explode before it actually does? How to tell if your latest slowdown around NumPy is happening at the Python level, or at the C level? Does the Django ORM hate your guts, or is it just Postgres being slow on the first query of the last Friday of the month?
In this talk you’ll be equipped with the ability to answer all of these questions - and more! - within two clicks of the mouse… and if that’s not possible, you’ll learn what your options are.
We’ll explore the radical idea of always running with a profiler enabled, and the far-reaching implications of actually being able to do that in production, with almost no run-time overhead.