~/talk

An Executable Semantics for Faster Development of Optimizing Python Compilers

Talkat SLE 2023 · 2023-10-23..10-24· [python]
links:none on file
links:none on file
links:none on file
slides:none on file

An executable semantics encodes Python’s lookup, boxing/unboxing and calls as Python-with-primitives (uses class_get_ATR and an int_to_host/int_from_host pair) so compilers can parse and reuse it; a partial evaluator named semPy partial evaluator applies three transforms—aggressive inlining, branch-resolution with a type context, and redundant boxing elimination—to emit fast behaviors; a prototype compiler Zipi prototype uses those behaviors and shows benchmarks faster than CPython and sometimes competitive with PyPy on arithmetic-heavy workloads.

AI-written summary · about

  1. 0:00Introduction
  2. 1:26Python semantics overview
  3. 3:54Method lookups and operations
  4. 7:24Reusable executable semantics
  5. 10:12Primitive operations and types
  6. 12:00Performance issues and partial evaluation
  7. 15:52Senpai and behavior generation
  8. 18:24Integrating behaviors into Zippy
  9. 19:29Performance comparison
  10. 20:13Conclusion and future work
  11. 22:03Q&A
~/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.