~/talk

Making CPython Fast Using Trace-based Optimisations

Talkat EuroPython 2011 · 2011-06-20..06-26· [python, compilers-and-language-design]
links:none on file
slides:none on file

An experimental tracing VM called Popeye tracing VM implements a lower-level “spam” instruction set inside CPython, records hot bytecode traces, applies specialization, escape analysis and deferred object materialization, and then emits machine code for traces. The implementation keeps traces on a timed cache, uses inline guards and shadow stacks to avoid unnecessary allocations, and shows roughly 3x interpreter speedup and ~10x when compiled in benchmarks; changes are invasive but mostly local to CPython bytecode handling.

AI-written summary · about

  1. 0:00Introduzione
  2. 1:53CPython VM
  3. 3:25What is Tracing?
  4. 5:37Modifying CPython for Tracing
  5. 10:03Optimising Traces
  6. 11:05Problems with Tracing Bytecode
  7. 12:08Lower-Level Bytecodes
  8. 17:10SPAM instructions
  9. 19:29Tracing with SPAM
  10. 21:17SPAM equivalents
  11. 23:18SPAM functions (2)
  12. 25:10The Main Trace-Based Optimisations
  13. 26:40Optimiser Chain
  14. 32:00Guards
  15. 37:10Starting Trace
  16. 38:09Specialisation (1)
  17. 39:19Specialiser Output
  18. 41:02D.O.C. (3)
  19. 43:32Compilation
  20. 46:26Thank You For Listening
  21. 51:20Making CPython Fast With Trace-Based Optimisations
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.