Artwork

Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa에서 제공하는 콘텐츠입니다. 에피소드, 그래픽, 팟캐스트 설명을 포함한 모든 팟캐스트 콘텐츠는 Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa 또는 해당 팟캐스트 플랫폼 파트너가 직접 업로드하고 제공합니다. 누군가가 귀하의 허락 없이 귀하의 저작물을 사용하고 있다고 생각되는 경우 여기에 설명된 절차를 따르실 수 있습니다 https://ko.player.fm/legal.
Player FM -팟 캐스트 앱
Player FM 앱으로 오프라인으로 전환하세요!

Episode 4 - Frame Evaluation

1:13:20
 
공유
 

Manage episode 386575711 series 3522009
Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa에서 제공하는 콘텐츠입니다. 에피소드, 그래픽, 팟캐스트 설명을 포함한 모든 팟캐스트 콘텐츠는 Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa 또는 해당 팟캐스트 플랫폼 파트너가 직접 업로드하고 제공합니다. 누군가가 귀하의 허락 없이 귀하의 저작물을 사용하고 있다고 생각되는 경우 여기에 설명된 절차를 따르실 수 있습니다 https://ko.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

15 에피소드

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에서 제공하는 콘텐츠입니다. 에피소드, 그래픽, 팟캐스트 설명을 포함한 모든 팟캐스트 콘텐츠는 Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa 또는 해당 팟캐스트 플랫폼 파트너가 직접 업로드하고 제공합니다. 누군가가 귀하의 허락 없이 귀하의 저작물을 사용하고 있다고 생각되는 경우 여기에 설명된 절차를 따르실 수 있습니다 https://ko.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

15 에피소드

모든 에피소드

×
 
Loading …

플레이어 FM에 오신것을 환영합니다!

플레이어 FM은 웹에서 고품질 팟캐스트를 검색하여 지금 바로 즐길 수 있도록 합니다. 최고의 팟캐스트 앱이며 Android, iPhone 및 웹에서도 작동합니다. 장치 간 구독 동기화를 위해 가입하세요.

 

빠른 참조 가이드