2025-09-13 –, Track 2
What do you do when a Sev1 performance fire alarm goes off in your Python application? Suddenly, we're tasked with debugging a critical issue, and often, just identifying the true bottleneck feels like searching for a needle in a vast haystack.
We'll explore a toolkit of essential Python profilers – from deterministic tools like cProfile to sampling profilers like Pyinstrument and py-spy, and memory profilers such as memory_profiler and tracemalloc.
- A systematic approach to diagnosing performance bottlenecks in Python applications, moving beyond guesswork.
- An understanding of different types of Python profilers (cProfile, Pyinstrument, py-spy, Austin, memory_profiler, tracemalloc) and when to use each.
- Practical guidance on how to use and interpret the output of these profilers, including how to read and leverage flamegraphs for quick insights.
- Techniques for investigating both CPU-bound and memory-related performance issues in Python.
- Actionable tips based on a Python case study, demonstrating the profiling process from problem to resolution.
Presented a Ruby version of this at RubyConf, US, 2023, link to it is: https://www.youtube.com/watch?v=rvC1ZyUIO_s. This one though will modified to focus on Python.
Target Audience –Intermediate
With a career ethos of "Never Stop Building," Puneet Khushwani has spent nearly a decade tackling diverse challenges across the technology landscape. Their experience includes the high-energy '0 to 1' journey of bringing new products to life, followed by a deliberate shift to driving growth in large-scale enterprise environments ('10 to 100').
This included key contributions at Coupa, where they also transitioned from an IC to an Engineering Manager role. Puneet recently joined GoDaddy in Pune, India, where they support the CET team.