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. Student works
  4. Miniboxing: An Encoding for Specialization
 
semester or other student projects

Miniboxing: An Encoding for Specialization

Talau, Cristian
2012

In the presence of parametric polymorphism, erasure-based languages such as Java and Scala handle primitives (boolean values, integers and floating point numbers) in a suboptimal way: in order to provide a uniform representation on the low level, all primitive values are stored in heap objects, in a process known as boxing. This leads to access overheads, wasteful usage of the heap space and broken cache locality. Specialization enables Scala to optimally handle primitive values in the context of generic classes, but this is done at the expense of duplicating classes up to 10 times for each type parameter, for each of the 9 Scala primitive types and heap objects. This prevents specialization of key classes in the Scala library, such as Function2, List, Map and so on. This project aims at testing the hypothesis that encoding several primitive types into a larger stack-based primitive type can maintain the performance of specialized code, while dramatically decreasing the generated bytecode size.

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

CristianTalau-SemesterProjectReport.pdf

Access type

openaccess

Size

233.26 KB

Format

Adobe PDF

Checksum (MD5)

3f163234b98c2c05be3a23f736df8b20

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