Artwork

Conteúdo fornecido por Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa. Todo o conteúdo do podcast, incluindo episódios, gráficos e descrições de podcast, é carregado e fornecido diretamente por Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa ou por seu parceiro de plataforma de podcast. Se você acredita que alguém está usando seu trabalho protegido por direitos autorais sem sua permissão, siga o processo descrito aqui https://pt.player.fm/legal.
Player FM - Aplicativo de podcast
Fique off-line com o app Player FM !

Episode 4 - Frame Evaluation

1:13:20
 
Compartilhar
 

Manage episode 386575711 series 3522009
Conteúdo fornecido por Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa. Todo o conteúdo do podcast, incluindo episódios, gráficos e descrições de podcast, é carregado e fornecido diretamente por Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa ou por seu parceiro de plataforma de podcast. Se você acredita que alguém está usando seu trabalho protegido por direitos autorais sem sua permissão, siga o processo descrito aqui https://pt.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 episódios

Artwork

Episode 4 - Frame Evaluation

core.py

15 subscribers

published

iconCompartilhar
 
Manage episode 386575711 series 3522009
Conteúdo fornecido por Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa. Todo o conteúdo do podcast, incluindo episódios, gráficos e descrições de podcast, é carregado e fornecido diretamente por Pablo Galindo and Łukasz Langa, Pablo Galindo, and Łukasz Langa ou por seu parceiro de plataforma de podcast. Se você acredita que alguém está usando seu trabalho protegido por direitos autorais sem sua permissão, siga o processo descrito aqui https://pt.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 episódios

Kaikki jaksot

×
 
Loading …

Bem vindo ao Player FM!

O Player FM procura na web por podcasts de alta qualidade para você curtir agora mesmo. É o melhor app de podcast e funciona no Android, iPhone e web. Inscreva-se para sincronizar as assinaturas entre os dispositivos.

 

Guia rápido de referências