The Real Python Podcast

Comparing Real-World Python Performance Against Big O


Listen Later

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.

Course Spotlight: Building Enumerations With Python’s enum

In this video course, you’ll discover the art of creating and using enumerations of logically connected constants in Python. To accomplish this, you’ll explore the Enum class and other associated tools and types from the enum module in the Python standard library.

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:

    • ruff Release 0.12.0
    • streamlit Release 1.46.0
    • lxml 6.0.0 Released
    • PSF Board Election Schedule – It is time for the Python Software Foundation Board elections. Nominations are due by July 29th. See the article for the full election schedule and deadlines.
    • 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:

        • New Python Client Library for Google Data Commons – Google Data Commons announced the general availability of its new Python client library for the Data Commons. The goal of the library is to enhance how students, researchers, analysts, and data scientists access and leverage Data Commons.
        • smartypants.py: Plain ASCII to “Smart” Punctuation
        • Additional Links:

          • Betteridge’s Law
          • collections — Container datatypes — Python 3.13.5 documentation
          • OrderedDict vs dict in Python: The Right Tool for the Job – Real Python
          • Build Enumerations of Constants With Python’s Enum – Tutorial
          • Building Enumerations With Python’s enum - Video Course
          • Python client library for the Data Commons
          • PyCoder’s Weekly - Submit a Link
          • Level up your Python skills with our expert-led courses:

            • Looping With Python enumerate()
            • Sorting Dictionaries in Python: Keys, Values, and More
            • Building Enumerations With Python's enum
            • Support the podcast & join our community of Pythonistas

              ...more
              View all episodesView all episodes
              Download on the App Store

              The Real Python PodcastBy Real Python

              • 4.7
              • 4.7
              • 4.7
              • 4.7
              • 4.7

              4.7

              136 ratings


              More shows like The Real Python Podcast

              View all
              Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

              Software Engineering Radio - the podcast for professional software developers

              272 Listeners

              The Changelog: Software Development, Open Source by Changelog Media

              The Changelog: Software Development, Open Source

              284 Listeners

              Thoughtworks Technology Podcast by Thoughtworks

              Thoughtworks Technology Podcast

              40 Listeners

              Data Skeptic by Kyle Polich

              Data Skeptic

              481 Listeners

              Talk Python To Me by Michael Kennedy

              Talk Python To Me

              590 Listeners

              Software Engineering Daily by Software Engineering Daily

              Software Engineering Daily

              621 Listeners

              The TWIML AI Podcast (formerly This Week in Machine Learning & Artificial Intelligence) by Sam Charrington

              The TWIML AI Podcast (formerly This Week in Machine Learning & Artificial Intelligence)

              441 Listeners

              Super Data Science: ML & AI Podcast with Jon Krohn by Jon Krohn

              Super Data Science: ML & AI Podcast with Jon Krohn

              298 Listeners

              Python Bytes by Michael Kennedy and Brian Okken

              Python Bytes

              215 Listeners

              Data Engineering Podcast by Tobias Macey

              Data Engineering Podcast

              141 Listeners

              Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

              Syntax - Tasty Web Development Treats

              987 Listeners

              CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

              CoRecursive: Coding Stories

              189 Listeners

              DataFramed by DataCamp

              DataFramed

              267 Listeners

              Practical AI by Practical AI LLC

              Practical AI

              192 Listeners

              The Stack Overflow Podcast by The Stack Overflow Podcast

              The Stack Overflow Podcast

              62 Listeners