Write a Blog >>
Fri 28 Sep 2018 13:32 - 13:55 at Frisco - Session 2: Scala Extensions & Parsing Chair(s): Philipp Haller

Scala heavily relies on a number of object-oriented abstractions to support its feature-rich collections library. There are known techniques that optimize those abstractions away in just-in-time (JIT) compilers, but applying them in the ahead-of-time (AOT) setting is problematic. Profile-guided optimization (PGO) lets AOT compilers apply some of the same optimizations that JIT compilers employ, but it comes at a high complexity cost.

In this paper, we introduce Interflow, an alternative approach towards ahead-of-time optimization of Scala programs which relies on interprocedural flow-sensitive type inference and method duplication. Our evaluation shows that an Interflow-based optimizing compiler built on top of the Scala Native toolchain outperforms existing PGO-based optimizing compilers for Scala.

Moreover, we demonstrate that Interflow and PGO can be combined to achieve further improvements. On our benchmarks, with both Interflow and PGO enabled, the Scala Native toolchain approaches the performance of the HotSpot JVM.

Fri 28 Sep

Displayed time zone: Guadalajara, Mexico City, Monterrey change

13:10 - 14:40
Session 2: Scala Extensions & ParsingScala 2018 at Frisco
Chair(s): Philipp Haller KTH, Sweden
13:10
22m
Talk
Garnishing Parsec with Parsley
Scala 2018
Jamie Willis University of Bristol, UK, Nicolas Wu University of Bristol, UK
DOI
13:32
22m
Talk
Interflow: Interprocedural Flow-Sensitive Type Inference and Method Duplication
Scala 2018
Denys Shabalin EPFL, Switzerland, Martin Odersky EPFL, Switzerland
DOI
13:55
22m
Talk
Parser Combinators for Context-Free Path Querying
Scala 2018
Ekaterina Verbitskaia Saint Petersburg State University, Russia, Ilya Kirillov Saint Petersburg State University, Russia, Ilya Nozkin Saint Petersburg State University, Russia, Semyon Grigorev Saint Petersburg State University, Russia
DOI
14:17
22m
Talk
Truly Abstract Interfaces for Algebraic Data Types: The Extractor Typing Problem
Scala 2018
Nicolas Stucki EPFL, Switzerland, Paolo G. Giarrusso EPFL, Switzerland, Martin Odersky EPFL, Switzerland
DOI