Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

The Gilectomy

EuroPython Conference via YouTube

Overview

Explore the challenges and implications of removing Python's Global Interpreter Lock (GIL) in this 46-minute EuroPython 2016 conference talk. Delve into the history of the GIL, its impact on CPython's performance, and the experimental "gilectomy" branch that successfully removes it. Learn about the technical and political considerations involved in GIL removal, including tracing garbage collection, software transactional memory, and the handling of globals and statics. Examine benchmark results comparing GIL and GIL-less implementations, and gain insights into the performance trade-offs and potential optimizations. Discover the complexities of multi-core Python execution and the ongoing efforts to balance speed with parallel processing capabilities in CPython.

Syllabus

Intro
preface
revisiting the gil
gil ramifications
the world has changed
python hasn't
your computer's resources
the "free-threading" patch
four technical considerations
three political considerations
tracing garbage collection
software transactional memory
globals and statics
cext parallelism & reentrancy
atomicity
lock api
what needs locks?
userspace locks
two builds
two entry points
don't make it too complicated
it isn't easy to remove the gil
how to remove the gil
language summit benchmarks
gilectomy's official benchmark
what fib exercises
gil vs gilectomy, wall time
gil vs gilectomy, cpu time
what makes cpus fast?
cache never stays warm
buffered reference counting
remote object headers
final thoughts

Taught by

EuroPython Conference

Reviews

Start your review of The Gilectomy

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.