~/talk

Type Stability in Julia: Avoiding Performance Pathologies in JIT Compilation

Talkat OOPSLA 2021 · 2021-10-17..10-22· [compilers-and-language-design, python]
links:none on file
links:none on file
name:Jan Vitek
linkedin:jvitek
slides:none on file

Formalizes type stability and introduces a stronger property, type groundedness, proves grounded instances always fully devirtualize under a modeled JIT, and gives conditions on the type inference that the proofs require. Builds an SSA-like formal IR and a JIT model called Jules and validates claims with a dynamic corpus analysis over 1000 packages, finding most methods small and grounded and showing groundedness predicts when devirtualization and unboxing actually occur.

AI-written summary · about

  1. 0:00Performance pathology
  2. 2:14Performance engineering
  3. 5:46Jules - a model of Julia's JIT julia
  4. 6:47JIT: Method specialization for concrete types Program
  5. 7:26JIT: Devirtualization
  6. 8:30Type groundedness: all slots are concrete
  7. 9:10Type instability: return type is abstract
  8. 10:24Recap: type stability vs groundedness
  9. 12:03Takeaways
~/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.