Repository logo

Infoscience

  • English
  • French
Log In
Logo EPFL, École polytechnique fédérale de Lausanne

Infoscience

  • English
  • French
Log In
  1. Home
  2. Academic and Research Output
  3. Conferences, Workshops, Symposiums, and Seminars
  4. Interflow: interprocedural flow-sensitive type inference and method duplication
 
conference paper

Interflow: interprocedural flow-sensitive type inference and method duplication

Shabalin, Denys
•
Odersky, Martin
September 28, 2018
Proceedings of the 9th ACM SIGPLAN International Symposium on Scala
Scala 2018

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.

  • Details
  • Metrics
Type
conference paper
DOI
10.1145/3241653.3241660
Author(s)
Shabalin, Denys
Odersky, Martin
Date Issued

2018-09-28

Published in
Proceedings of the 9th ACM SIGPLAN International Symposium on Scala
ISBN of the book

978-1-4503-5836-1

Total of pages

11

Start page

61

End page

71

Subjects

ahead-of-time compilation

•

profile-guided optimization

•

interprocedural optimization

Editorial or Peer reviewed

REVIEWED

Written at

EPFL

EPFL units
LAMP1  
Event nameEvent placeEvent date
Scala 2018

St. Louis, MO, USA

September 28 - 28, 2018

Available on Infoscience
November 27, 2018
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/151630
Logo EPFL, École polytechnique fédérale de Lausanne
  • Contact
  • infoscience@epfl.ch

  • Follow us on Facebook
  • Follow us on Instagram
  • Follow us on LinkedIn
  • Follow us on X
  • Follow us on Youtube
AccessibilityLegal noticePrivacy policyCookie settingsEnd User AgreementGet helpFeedback

Infoscience is a service managed and provided by the Library and IT Services of EPFL. © EPFL, tous droits réservés