DiscoverTalk Python To Me#561: TonIO, a Multi-threaded Async Runtime for Python
#561: TonIO, a Multi-threaded Async Runtime for Python

#561: TonIO, a Multi-threaded Async Runtime for Python

Update: 2026-09-04
Share

Description

How many cores does your machine have, 10, 18? Your async Python code uses just one of them. That isn't a bug in asyncio. That's the design, and optimizing event loops to be faster by 20% doesn't change it. So Giovanni Barillari started over. Joe is the creator of Granian, the Rust-based server that powers Talk Python. His new project is TonIO, an async runtime written from scratch for free-threaded Python. Real threads, a handful of primitives instead of asyncio's pile of them, and it flat out refuses to start if the GIL is on.



Episode sponsors



Sentry Error Monitoring, Code talkpython26

Python in Production

Talk Python Courses



Links from the show


Guest

Giovanni Barillari: github.com



Granian: github.com

Hyper: github.com

Free threaded Python: docs.python.org

Sort of: labs.quansight.org

did a whole course: training.talkpython.fm

uvloop: github.com

rloop: github.com

TonIO: github.com

your EuroPython 2026 talk: www.youtube.com

Michael's Cutting Python Web App Memory Over 31% Article: mkennedy.codes



Watch this episode on YouTube: youtube.com

Episode #561 deep-dive: talkpython.fm/561

Episode transcripts: talkpython.fm



Theme Song: Developer Rap

🥁 Served in a Flask 🎸: talkpython.fm/flasksong



---== Don't be a stranger ==---

YouTube: youtube.com/@talkpython



Bluesky: @talkpython.fm

Mastodon: @[email protected]

X.com: @talkpython



Michael on Bluesky: @mkennedy.codes

Michael on Mastodon: @[email protected]

Michael on X.com: @mkennedy
Comments 
loading
00:00
00:00
x

0.5x

0.8x

1.0x

1.25x

1.5x

2.0x

3.0x

Sleep Timer

Off

End of Episode

5 Minutes

10 Minutes

15 Minutes

30 Minutes

45 Minutes

60 Minutes

120 Minutes

#561: TonIO, a Multi-threaded Async Runtime for Python

#561: TonIO, a Multi-threaded Async Runtime for Python

Michael Kennedy (@mkennedy)