Seven years ago, specialization arrived in Scala, offering a way to improve the performance of methods called with primitive values, thanks to Iulian Dragos. We have learned a lot since then, so it's time to revisit the topic.
The Dotty Linker analyses your program and its dependencies to apply a new specialization scheme. It builds on our experience from Specialization, Miniboxing and the Valhalla Project, and can drastically reduce the size of the emitted bytecode. And, best of all, it's always on, happens behind the scenes without annotations, and can produce speedups in excess of 20x. Additionally, it "just works" on Scala collections.
Dmitry has been working on Scala since 2013, when he joined Martin Odersky's research lab at EPFL, working on ScalaBlitz, macro-generated collections for Scala. Since 2015 he has been working on the Dotty Compiler. He designed Mini-Phases, ported the JVM backend, implemented support for Java 8 lambdas and default methods, along withvarious other parts of the compiler, including the pattern matcher, lazy vals, tail recursion transformations and parts of erasure and mixin composition. He currently works on implementing the Dotty Linker, an optimizing compiler based on Dotty.
Do you want to sponsor flatMap(Oslo)?
Send an email to firstname.lastname@example.org