Measuring Multiple Facets of Python Performance With Scalene | Real Python Podcast #172

When choosing a tool for profiling Python code performance, should it focus on the CPU, GPU, memory, or individual lines of code? What if it looked at all those factors and didn't alter code performance while measuring it? This week on the show, we talk about Scalene with Emery Berger, Professor of Computer Science at the University of Massachusetts Amherst. 👉 Links from the show: https://realpython.com/podcasts/rpp/172/ Emery talks about his background in memory management and his collaboration on Hoard, a scalable memory manager system used in Mac OS X. We discuss the need for improving code performance on modern computer architecture. He highlights this idea by contrasting the familiar limitations of Moore's law with the lesser-known rule of Dennard scaling. Working with his students in the university lab, they developed Scalene. Scalene is a high-performance CPU, GPU, and memory profiler. It can look at code from the individual function or line-by-line level and compare time spent in Python vs. C code. Emery talks about the recent Scalene feature of AI-powered optimization proposals and covers a couple examples. He also shares a collection of additional Python code-assistant tools from their lab. Topics: 00:00:00 -- Introduction 00:02:13 -- College of information and Computer Sciences 00:03:25 -- Memory management systems background 00:05:15 -- Dennard Scaling vs Moore's Law 00:10:12 -- Starting work on Python profiling 00:15:00 -- Deciding on a statistical profiler 00:17:05 -- Wanting to trace memory 00:21:21 -- Finding memory issues 00:23:59 -- Line-by-line analysis 00:25:56 -- Video Course Spotlight 00:27:14 -- Measuring profiler performance 00:30:30 -- Memory leak detection 00:34:31 -- When should you run a profiler? 00:37:27 -- Considerations for measuring cloud performance 00:39:12 -- Working with Jupyter and Conda 00:42:18 -- Common issues and AI solutions 00:45:50 -- Using a profiler to learn a code base 00:50:48 -- Examples of AI-powered optimizations 00:55:50 -- What are you excited about in the world of Python? 00:58:30 -- What do you want to learn next? 01:01:48 -- How can people follow your work online? 01:02:56 -- Thanks and goodbye 👉 Links from the show: https://realpython.com/podcasts/rpp/172/

"Python Performance Matters" by Emery Berger (Strange Loop 2022)
▶︎

"Python Performance Matters" by Emery Berger (Strange Loop 2022)

Creator of C++: Bell Labs, Negative Overhead Abstraction, Mistakes | Bjarne Stroustrup
▶︎

Creator of C++: Bell Labs, Negative Overhead Abstraction, Mistakes | Bjarne Stroustrup

Turing Award Winner: Disagreeing with Google, Postgres, Future Problems | Mike Stonebraker
▶︎

Turing Award Winner: Disagreeing with Google, Postgres, Future Problems | Mike Stonebraker

Getting Involved in Open Source & Generating QR Codes With Python | Real Python Podcast #173
▶︎

Getting Involved in Open Source & Generating QR Codes With Python | Real Python Podcast #173

30 Years in Data: Why AI Hasn't Solved the Real Problem
▶︎

30 Years in Data: Why AI Hasn't Solved the Real Problem

How To Become A Top Tier Architect (Google & AWS Veteran)
▶︎

How To Become A Top Tier Architect (Google & AWS Veteran)

Running Python Locally in a Sandbox | Real Python Podcast #301
▶︎

Running Python Locally in a Sandbox | Real Python Podcast #301

Zig 2026: No-AI Policy, $670K Foundation, Left GitHub & Why Zig Isn’t 1.0 - Andrew Kelley Explains
▶︎

Zig 2026: No-AI Policy, $670K Foundation, Left GitHub & Why Zig Isn’t 1.0 - Andrew Kelley Explains

Keynote: After the AI Hype – What’s Real, and What’s Next - Richard Campbell - 2026
▶︎

Keynote: After the AI Hype – What’s Real, and What’s Next - Richard Campbell - 2026

TALK / Emery Berger / Scalene: A high-performance, high-precision CPU+GPU+memory profiler for Python
▶︎

TALK / Emery Berger / Scalene: A high-performance, high-precision CPU+GPU+memory profiler for Python

System Design Explained: APIs, Databases, Caching, CDNs, Load Balancing & Production Infra
▶︎

System Design Explained: APIs, Databases, Caching, CDNs, Load Balancing & Production Infra

China Is About To Pop The AI Bubble
▶︎

China Is About To Pop The AI Bubble

Modern Approaches to Profiling in Python with Scalene
▶︎

Modern Approaches to Profiling in Python with Scalene

No Boss, No Money: The Raw Reality of China’s Gen-Z Freelancers
▶︎

No Boss, No Money: The Raw Reality of China’s Gen-Z Freelancers

The Story of Python and how it took over the world | Python: The Documentary
▶︎

The Story of Python and how it took over the world | Python: The Documentary

Why The Best Software Engineers Focus On System Design
▶︎

Why The Best Software Engineers Focus On System Design

OSDI '23 - Triangulating Python Performance Issues with SCALENE
▶︎

OSDI '23 - Triangulating Python Performance Issues with SCALENE

Neil deGrasse Tyson: The Whistleblowers Were Right About Aliens
▶︎

Neil deGrasse Tyson: The Whistleblowers Were Right About Aliens

Jfrog | Jfrog Artifactory | Jfrog Artifactory Tutorial | Artifactory Tutorial | Intellipaat
▶︎

Jfrog | Jfrog Artifactory | Jfrog Artifactory Tutorial | Artifactory Tutorial | Intellipaat

What is SonarQube | Introduction SonarQube | SonarQube Tutorial | SonarQube Basics | Intellipaat
▶︎

What is SonarQube | Introduction SonarQube | SonarQube Tutorial | SonarQube Basics | Intellipaat