Overview
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