Talk

No more Locks! What can we achieve without the GIL

Thursday, May 29

15:35 - 16:05
RoomTortellini
LanguageEnglish
Audience levelAdvanced
Elevator pitch

New Python versions can have the GIL disabled, finally unleashing true parallelism! But what does this mean? free 10x faster code? All cores at 100%? We’ll dive into this brave new world of free threading Python, exploring the good, the bad, and the very ugly through live coding demos and examples.

Abstract

Starting with Python 3.13, we’re getting access to an experimental free-threading build that removes Python’s Global Interpreter Lock (GIL). This isn’t just another performance tweak - it’s a fundamental shift in how Python handles concurrency, as outlined in PEP 703 (Making the Global Interpreter Lock Optional in CPython).

The GIL has long been one of Python’s most significant limitations, preventing true parallel execution of Python code. While we can try to work around it using multiprocessing, these workarounds often place constraints and memory penalties we can’t look away. The impact goes beyond just performance - it affects how we design libraries, structure our applications, and express concurrent operations.

Drawing from real-world example, and demonstrations, this talk will try to answer:

  • How can we try out the free threading python build, and run parallel code.
  • What changes when we remove the GIL. We gain speed, but what do we lose?
  • The experimental stage we are in. Is it a new sharp knife in our toolbox, or toy to play around on weekends?
  • Shared memory is much faster than message passing. Our code should fly now, right?
  • Should we ditch multiprocessing then?
  • Don’t we have numpy, and a bunch of ML/AI libraries already running in parallel and even on GPUs? Why should I care about this?
  • How can existing libraries and codebases leverage these new capabilities?
  • What the future may hold for Python concurrency, and what is already on the way with 3.14
TagsCompiler and Interpreters, Performance and scalability techniques, Language and features
Participant

Caio Costa Salgado

My name is Caio (sounds the same as Kyle). I have been a software engineer for more than 10 years now, and ever since I learned about parallelism, I have become fascinated about the subject, and I am always doing experiments with it. I work as a Python developer at Axonius, a cybersecurity company. I am based in Portugal where I am also doing my masters degree in parallel and distributed systems. I am originally from Brazil, but I live now in Porto with my wife and my dog.