Real Python Podcast E257 Title Image

Episode 257: Comparing Real-World Python Performance Against Big O

The Real Python Podcast

How does the performance of an algorithm hold up when you put it into a realistic context? Where might Python code defy Big O notation expectations when using a profiler? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder’s Weekly articles and projects.

Christopher shares an article about why real-world performance often defies Big O expectations. The piece starts with a task coded in Go and then optimized from O(n²) to O(n). Can an interpreted language like Python compete with a compiled language? Profiling the performance of both versions provides some interesting results.

We also share several other articles and projects from the Python community, including a news roundup, the fastest way to detect a vowel in a string, whether Python dictionaries are ordered data structures, an overview of Python’s enum module, a Python client library for Google Data Commons, and a project to convert plain ASCII to “smart” punctuation.

Topics:

  • 00:00:00 – Introduction
  • 00:02:12 – ruff Release 0.12.0
  • 00:02:38 – streamlit Release 1.46.0
  • 00:02:48 – lxml 6.0.0 Released
  • 00:03:00 – PSF Board Election Schedule
  • 00:03:26 – Are Python Dictionaries Ordered Data Structures?
  • 00:08:59 – The Fastest Way to Detect a Vowel in a String
  • 00:16:37 – Module enum Overview
  • 00:24:46 – Video Course Spotlight
  • 00:26:24 – O(no) You Didn’t
  • 00:38:34 – New Python Client Library for Google Data Commons
  • 00:41:55 – smartypants.py: Plain ASCII to “Smart” Punctuation
  • 00:44:07 – Thanks and goodbye

News:

Show Links:

  • Are Python Dictionaries Ordered Data Structures? – Although dictionaries have maintained insertion order since Python 3.6, they aren’t strictly speaking ordered data structures. Read on to find out why and how the edge cases can be important depending on your use case.
  • The Fastest Way to Detect a Vowel in a String – If you need to find the vowels in a string there are several different approaches you could take. This article covers 11 different ways and how each performs.
  • Module enum Overview – This article gives an overview of the tools available in the module enum and how to use them, including Enum, auto, StrEnum, Flag, and more.
  • O(no) You Didn’t – A deep dive into why real-world performance often defies Big-O expectations, and why context and profiling matter more than theoretical complexity.

Projects:

Additional Links: