~/talk

Dotty Linker: Precise Types Bring Performance

Talkat Scala Days Berlin 2016 · 2016-06-15..06-17· [web-performance]
slides:none on file

Dotty Linker is a whole‑program optimizer that analyzes application and library call graphs, generates only the specializations actually used and eliminates boxing and megamorphic dispatch, turning generic-heavy Scala code into near-native code; a simple reduce example shows Scala collections can be ~20× slower without this. It avoids the 10^n code explosion around 10 primitive types by per-program specialization, exposes rewrite rules like turning length==0 into isEmpty, and works as a prototype with faster runtime but some compile‑time and HotSpot limitations.

AI-written summary · about

  1. 0:00Who am I
  2. 1:27Where does slow down come from
  3. 2:17Scala vs Java
  4. 3:53Dynamic Dispatch
  5. 5:47Compiler
  6. 8:46Specialization
  7. 12:03Specializations
  8. 14:43Use Cases
  9. 16:12Demo Benchmark
  10. 18:22Limitations
  11. 21:17Less code
  12. 22:18Complex code
  13. 23:36Library optimizations
  14. 24:09Rewrite rules
  15. 26:10Purity
  16. 28:01Warnings
  17. 29:37Logging
  18. 36:00Randomized Testing
  19. 36:57Current Status
  20. 41:10Thank You
~/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.