Go offline with the Player FM app!
Comparing Real-World Python Performance Against Big O
Manage episode 493870360 series 2637014
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.0streamlit
Release 1.46.0lxml
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:
258 episodes
Manage episode 493870360 series 2637014
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.0streamlit
Release 1.46.0lxml
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:
258 episodes
All episodes
×Welcome to Player FM!
Player FM is scanning the web for high-quality podcasts for you to enjoy right now. It's the best podcast app and works on Android, iPhone, and the web. Signup to sync subscriptions across devices.