Talk

GIL: What's the hassle and... should I care?

Saturday, May 25

15:25 - 15:55
RoomTagliatelle
LanguageEnglish
Audience levelIntermediate
Elevator pitch

GIL often appears as a scary, obscure gizmo. Misunderstanding this aspect of Python may lead to suboptimal architectural choices. I invite you to see my attempt at explaining the GIL and its implications, as well as providing pointers for how to deal with the GIL in specific situations.

Abstract

GIL often appears as a scary, obscure gizmo. Misunderstanding this aspect of Python may lead to suboptimal architectural choices. I invite you to see my attempt at explaining the GIL and its implications, as well as providing pointers for how to deal with the GIL in specific situations.

There have been (and still are), of course, attempts to get around the GIL - or get rid of it altogether. I hope to give some light to these works.

By providing a comprehensive overview of today’s GIL in CPython, this presentation aims to help make better design choices - be it choosing a concurrency/parallelism model, Python implementation to use - or even whether or not to drop. Python entirely.

TagsAsyncIO, Performance, CPython, Multi-Processing, Multi-Threading
Participant

Jacek Kołodziej

Principal Software Engineer for search/recommendations/item page at Allegro.

On the side: Photographs, runs, wanders from one concert to another and from one hill to another, too. Plays drums occasionally