Episode 4 - Frame Evaluation

Release Date:

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

Episode 4 - Frame Evaluation

Title
Episode 4 - Frame Evaluation
Copyright
Release Date

flashback