Artwork

Το περιεχόμενο παρέχεται από το Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa. Όλο το περιεχόμενο podcast, συμπεριλαμβανομένων των επεισοδίων, των γραφικών και των περιγραφών podcast, μεταφορτώνεται και παρέχεται απευθείας από τον Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa ή τον συνεργάτη της πλατφόρμας podcast. Εάν πιστεύετε ότι κάποιος χρησιμοποιεί το έργο σας που προστατεύεται από πνευματικά δικαιώματα χωρίς την άδειά σας, μπορείτε να ακολουθήσετε τη διαδικασία που περιγράφεται εδώ https://el.player.fm/legal.
Player FM - Εφαρμογή podcast
Πηγαίνετε εκτός σύνδεσης με την εφαρμογή Player FM !

Episode 4 - Frame Evaluation

1:13:20
 
Μοίρασέ το
 

Manage episode 386575711 series 3522009
Το περιεχόμενο παρέχεται από το Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa. Όλο το περιεχόμενο podcast, συμπεριλαμβανομένων των επεισοδίων, των γραφικών και των περιγραφών podcast, μεταφορτώνεται και παρέχεται απευθείας από τον Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa ή τον συνεργάτη της πλατφόρμας podcast. Εάν πιστεύετε ότι κάποιος χρησιμοποιεί το έργο σας που προστατεύεται από πνευματικά δικαιώματα χωρίς την άδειά σας, μπορείτε να ακολουθήσετε τη διαδικασία που περιγράφεται εδώ https://el.player.fm/legal.

What makes Python an interpreter? Today we're talking about ceval.c, the wonders of frame evaluation, and how it changed over the years.

# Timestamps

(00:00:00)  INTRO

(00:00:59)  BACK TO PYTHON 2.6

(00:02:53)  Stack virtual machine

(00:04:41)  First encounter with opcodes

(00:08:06)  What even is frame evaluation?

(00:12:51)  Stack! Which stack?

(00:15:46)  PRESENT DAY

(00:16:41)  Computed gotos

(00:21:22)  PEP 523: JIT me, maybe

(00:26:53)  Let's generate the interpreter

(00:29:08)  The JIT is coming

(00:33:13)  Python function call inlining

(00:37:23)  Instrumentation: DTrace, PEP 669

(00:41:50)  lltrace and pystats

(00:44:02)  Eval breaker

(00:47:54)  Signal handling

(00:50:47)  Recursion limits

(00:54:27)  String concatenation special case

(00:58:24)  WHAT'S GOING ON IN CPYTHON?

(00:58:42)  3.12.0a2

(00:59:12)  Critical section API adoption

(00:59:34)  PyOnceFlag

(01:00:28)  PyDict_GetItemRef()

(01:03:36)  PyList_Extend() and PyDict_Pop()

(01:04:18)  Parser: better error messages for non-matching elif/else

(01:05:39)  glob.translate()

(01:07:22)  TLS-PSK in the ssl module

(01:08:35)  IDLE debugger improvements

(01:10:50)  First micro-op in the Tier 2 interpreter

(01:11:18)  OUTRO

  continue reading

14 επεισόδια

Artwork

Episode 4 - Frame Evaluation

core.py

14 subscribers

published

iconΜοίρασέ το
 
Manage episode 386575711 series 3522009
Το περιεχόμενο παρέχεται από το Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa. Όλο το περιεχόμενο podcast, συμπεριλαμβανομένων των επεισοδίων, των γραφικών και των περιγραφών podcast, μεταφορτώνεται και παρέχεται απευθείας από τον Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa ή τον συνεργάτη της πλατφόρμας podcast. Εάν πιστεύετε ότι κάποιος χρησιμοποιεί το έργο σας που προστατεύεται από πνευματικά δικαιώματα χωρίς την άδειά σας, μπορείτε να ακολουθήσετε τη διαδικασία που περιγράφεται εδώ https://el.player.fm/legal.

What makes Python an interpreter? Today we're talking about ceval.c, the wonders of frame evaluation, and how it changed over the years.

# Timestamps

(00:00:00)  INTRO

(00:00:59)  BACK TO PYTHON 2.6

(00:02:53)  Stack virtual machine

(00:04:41)  First encounter with opcodes

(00:08:06)  What even is frame evaluation?

(00:12:51)  Stack! Which stack?

(00:15:46)  PRESENT DAY

(00:16:41)  Computed gotos

(00:21:22)  PEP 523: JIT me, maybe

(00:26:53)  Let's generate the interpreter

(00:29:08)  The JIT is coming

(00:33:13)  Python function call inlining

(00:37:23)  Instrumentation: DTrace, PEP 669

(00:41:50)  lltrace and pystats

(00:44:02)  Eval breaker

(00:47:54)  Signal handling

(00:50:47)  Recursion limits

(00:54:27)  String concatenation special case

(00:58:24)  WHAT'S GOING ON IN CPYTHON?

(00:58:42)  3.12.0a2

(00:59:12)  Critical section API adoption

(00:59:34)  PyOnceFlag

(01:00:28)  PyDict_GetItemRef()

(01:03:36)  PyList_Extend() and PyDict_Pop()

(01:04:18)  Parser: better error messages for non-matching elif/else

(01:05:39)  glob.translate()

(01:07:22)  TLS-PSK in the ssl module

(01:08:35)  IDLE debugger improvements

(01:10:50)  First micro-op in the Tier 2 interpreter

(01:11:18)  OUTRO

  continue reading

14 επεισόδια

Όλα τα επεισόδια

×
 
Loading …

Καλώς ήλθατε στο Player FM!

Το FM Player σαρώνει τον ιστό για podcasts υψηλής ποιότητας για να απολαύσετε αυτή τη στιγμή. Είναι η καλύτερη εφαρμογή podcast και λειτουργεί σε Android, iPhone και στον ιστό. Εγγραφή για συγχρονισμό συνδρομών σε όλες τις συσκευές.

 

Οδηγός γρήγορης αναφοράς