Artwork

Contenuto fornito da Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa. Tutti i contenuti dei podcast, inclusi episodi, grafica e descrizioni dei podcast, vengono caricati e forniti direttamente da Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa o dal partner della piattaforma podcast. Se ritieni che qualcuno stia utilizzando la tua opera protetta da copyright senza la tua autorizzazione, puoi seguire la procedura descritta qui https://it.player.fm/legal.
Player FM - App Podcast
Vai offline con l'app Player FM !

Episode 2 - PEP 703: Removing the GIL

1:14:39
 
Condividi
 

Manage episode 381379579 series 3522009
Contenuto fornito da Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa. Tutti i contenuti dei podcast, inclusi episodi, grafica e descrizioni dei podcast, vengono caricati e forniti direttamente da Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa o dal partner della piattaforma podcast. Se ritieni che qualcuno stia utilizzando la tua opera protetta da copyright senza la tua autorizzazione, puoi seguire la procedura descritta qui https://it.player.fm/legal.

We've read the PEP on making the Global Interpreter Lock optional so you don't have to.

Timestamps

(00:00:00) Intro

(00:00:50) CURRENT STATE OF THINGS

(00:00:58) Reference counting

(00:01:35) Garbage collection

(00:02:33) What is the Global Interpreter Lock?

(00:03:57) The GIL and threading

(00:07:24) Current ways around the GIL

(00:09:26) HISTORICAL ATTEMPTS TO REMOVE THE GIL

(00:09:46) 1999: Greg Stein's attempt at Python 1.6

(00:10:46) Jython doesn't have the GIL

(00:11:19) 2015: Larry Hastings' Gilectomy at Python 3.5

(00:12:34) Pablo says removing the GIL is actually very easy

(00:13:24) Łukasz is skeptical

(00:14:20) 2021: Sam Gross' nogil at Python 3.9

(00:18:22) 2023: PEP 703 for Python 3.13

(00:20:05) PEP 703 IN DETAIL

(00:20:20) Biased Reference Counting

(00:25:19) Other needed speedups: deferred refcounts, immortalization, GC

(00:28:41) mimalloc

(00:34:46) More GC changes

(00:38:20) eval breaker

(00:42:08) Thread-safe standard collections

(00:45:26) Fast paths vs. slow paths

(00:49:47) Reading freed memory with mimalloc is kinda okay?

(00:58:06) Specializations become harder to implement without the GIL

(01:01:27) PEP 703 terms of acceptance

(01:04:08) No free lunch

(01:09:25) It's now or never

(01:11:59) Outro

  continue reading

15 episodi

Artwork

Episode 2 - PEP 703: Removing the GIL

core.py

14 subscribers

published

iconCondividi
 
Manage episode 381379579 series 3522009
Contenuto fornito da Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa. Tutti i contenuti dei podcast, inclusi episodi, grafica e descrizioni dei podcast, vengono caricati e forniti direttamente da Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa o dal partner della piattaforma podcast. Se ritieni che qualcuno stia utilizzando la tua opera protetta da copyright senza la tua autorizzazione, puoi seguire la procedura descritta qui https://it.player.fm/legal.

We've read the PEP on making the Global Interpreter Lock optional so you don't have to.

Timestamps

(00:00:00) Intro

(00:00:50) CURRENT STATE OF THINGS

(00:00:58) Reference counting

(00:01:35) Garbage collection

(00:02:33) What is the Global Interpreter Lock?

(00:03:57) The GIL and threading

(00:07:24) Current ways around the GIL

(00:09:26) HISTORICAL ATTEMPTS TO REMOVE THE GIL

(00:09:46) 1999: Greg Stein's attempt at Python 1.6

(00:10:46) Jython doesn't have the GIL

(00:11:19) 2015: Larry Hastings' Gilectomy at Python 3.5

(00:12:34) Pablo says removing the GIL is actually very easy

(00:13:24) Łukasz is skeptical

(00:14:20) 2021: Sam Gross' nogil at Python 3.9

(00:18:22) 2023: PEP 703 for Python 3.13

(00:20:05) PEP 703 IN DETAIL

(00:20:20) Biased Reference Counting

(00:25:19) Other needed speedups: deferred refcounts, immortalization, GC

(00:28:41) mimalloc

(00:34:46) More GC changes

(00:38:20) eval breaker

(00:42:08) Thread-safe standard collections

(00:45:26) Fast paths vs. slow paths

(00:49:47) Reading freed memory with mimalloc is kinda okay?

(00:58:06) Specializations become harder to implement without the GIL

(01:01:27) PEP 703 terms of acceptance

(01:04:08) No free lunch

(01:09:25) It's now or never

(01:11:59) Outro

  continue reading

15 episodi

Tutti gli episodi

×
 
Loading …

Benvenuto su Player FM!

Player FM ricerca sul web podcast di alta qualità che tu possa goderti adesso. È la migliore app di podcast e funziona su Android, iPhone e web. Registrati per sincronizzare le iscrizioni su tutti i tuoi dispositivi.

 

Guida rapida