2025-09-19 –, Space 4
Explore Memray, a powerful open source memory profiler for Python. This workshop introduces its tools for tracking allocations in Python code, native modules, and the interpreter. Learn to identify memory bottlenecks, debug efficiently, and optimize performance, so you can start profiling your applications with confidence and clarity today!
Memray is an open source memory profiler developed at Bloomberg and used widely across the software industry, including by organizations including Google, Meta, and NVIDIA. It tracks memory allocations in Python code, native extension modules, and the Python interpreter itself. Join this hands-on workshop to learn how to use Memray effectively and gain deeper insight into your code’s memory behavior.
Efficient memory usage is critical for high-performance applications. As software scales, manually identifying memory inefficiencies becomes increasingly difficult. Tools like Memray help uncover memory leaks and inefficient allocation patterns, enabling measurable improvements in performance and stability.
In this session, you’ll learn how to use Memray to generate detailed memory profiling reports that accurately capture the call stack—unlike sampling profilers. You’ll explore memory usage across Python and native threads (e.g., C++ extensions), analyze memory-heavy functions, and identify bottlenecks. You'll also learn how to use Memray’s pytest integration to automatically detect and prevent memory issues as part of your CI workflows.
The workshop is divided into three parts:
Part 1: Get started with Memray by generating flamegraph reports and testing for memory leaks using the pytest API.
Part 2: Investigate real-world memory problems, explore Python’s garbage collector, and understand how it can affect memory behavior in subtle ways.
Part 3: Dive into native code profiling, examine memory issues caused by misuse of Python’s functools library, and learn how to debug allocations in C++ extensions.
By the end of the workshop, participants will be equipped to confidently interpret Memray reports, identify and resolve memory inefficiencies in Python and native code, and integrate memory checks into their software development lifecycle
Whether you're optimizing a data pipeline, debugging memory leaks, or are simply curious about what’s going on under the hood, this workshop will give you practical, actionable skills to make your Python programs more efficient and robust.
Intermediate
Jesse Carnaxide is a full-stack developer with more than ten years of experience. He holds a BEng and MEng in computer engineering from SUNY Binghamton and works as a Senior Software Engineer at Bloomberg in New York City. He has contributed across Bloomberg’s technology stack and is currently part of the Enterprise Portfolio Management Engineering team. Jesse leads Bloomberg’s Python Guild, an internal community focused on training and skill development. He is passionate about teaching and mentoring, and values Python’s readability for its impact on maintainability, accessibility, and fostering a strong developer community.