Discovercore.pyCalling Things, Part 1
Calling Things, Part 1

Calling Things, Part 1

Update: 2025-12-07
Share

Description

Inside of you there are two stacks. Actually, there’s three. The system-level call stack, the CPython call stack, and the interpreter’s evaluation stack. What is all that about? Today we’ll talk about how synchronous Python function calls work. Async stuff comes next time!


## Timestamps


Here you go — all square brackets changed to parentheses:

(00:00:00 ) INTRO
(00:02:28 ) PART 1: CALLING THINGS
(00:04:19 ) The Lawful Good Language
(00:13:18 ) Why is there a call stack?
(00:19:45 ) Python functions are not tied to the system call stack
(00:23:22 ) What's in a Python frame?
(00:23:35 ) Execution book-keeping data
(00:24:21 ) Locals
(00:27:35 ) The interpreter evaluation stack
(00:28:34 ) What are register-based interpreters?
(00:36:33 ) Interpretation using the evaluation stack
(00:42:46 ) Executing a function
(00:45:37 ) How do exceptions fit into the execution model?
(01:05:51 ) PART 2: PR OF THE WEEK
(01:15:48 ) PART 3: DONATE.PYTHON.ORG
(01:17:21 ) PART 4: WHAT'S GOING ON IN CPYTHON
(01:27:59 ) Free threading changes
(01:38:16 ) Performance
(01:51:08 ) Bugfixes
(02:04:03 ) OUTRO

Comments 
00:00
00:00
x

0.5x

0.8x

1.0x

1.25x

1.5x

2.0x

3.0x

Sleep Timer

Off

End of Episode

5 Minutes

10 Minutes

15 Minutes

30 Minutes

45 Minutes

60 Minutes

120 Minutes

Calling Things, Part 1

Calling Things, Part 1

Pablo Galindo and Łukasz Langa