Dotty Linker: Precise Types Bring Performance
summary
Whole-program optimization uses TASTy-based whole-program analysis to auto-generate only the primitive-specialized versions a particular application and its libraries actually need, avoiding the 10,000-version explosion and instead doing targeted auto-specialization and rewrite rules (fusion, remove boxing, eliminate virtual dispatch). The linker produces dramatic speedups—example array average: Java 45 ms, Scala 2.11 ~900 ms, Dotty Linker 68 ms—works with Scala Native, increases compile time, requires library TASTy and avoids unsafe transforms when code relies on boxing/null hacks.
AI-written summary · about
chapters (5)
related talks
01h 39mHands-on Dotty
01h 00mState of Dotty
48mMetaprogramming in Dotty
25mDuctape: Optimizing Dynamically Typed Programs using Ahead-of-Time Compilation and(…)
30mDotty and types: the story so far
34mWhat happens to your code when you don't look?
15mSealing Pointer-Based Optimizations Behind Pure Functions
40mIntegrating IDEs with Dotty the experimental Scala compiler
