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. Improving the Interoperation between Generics Translations
 
conference paper

Improving the Interoperation between Generics Translations

Ureche, Vlad  
•
Stojanovic, Milos
•
Beguet, Romain Michel
Show more
2015
PPPJ '15: Proceedings of the Principles and Practices of Programming on The Java Platform
Principles and Practices of Programming on the Java platform (PPPJ)

Generics on the Java platform are compiled using the erasure transformation, which only supports by-reference values. This causes slowdowns when generics operate on primitive types, such as integers, as they have to be transformed into reference-based objects. Project Valhalla is an effort to remedy this problem by specializing classes at load-time so they can efficiently handle primitive values. In its current early prototype, the Valhalla compilation scheme limits the interaction between specialized and erased generics, thus preventing certain useful code patterns from being expressed. Scala has been using compile-time specialization for 6 years and has three generics compilation schemes working side by side. In Scala, programmers are allowed to write code that freely exercises the interaction between the different compilation schemes, at the expense of introducing subtle performance issues. Similar performance issues can affect Valhalla-enabled bytecode, whether the code was written in Java or translated from other JVM languages. In this context we explain how we help programmers avoid these performance regressions in the miniboxing transformation: (1) by issuing actionable performance advisories that steer programmers away from performance regressions and (2) by providing alternatives to the standard library constructs that use the miniboxing encoding, thus avoiding the conversion overhead.

  • Files
  • Details
  • Metrics
Loading...
Thumbnail Image
Name

main_2.pdf

Type

Publisher's Version

Version

Published version

Access type

openaccess

Size

339.08 KB

Format

Adobe PDF

Checksum (MD5)

942a6c23a899b304f33be3b8ab3d3ccf

Loading...
Thumbnail Image
Name

mbox2-transp-good.png

Access type

openaccess

Size

426.86 KB

Format

PNG

Checksum (MD5)

039ca91c93649fa21372f2a08e745cce

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