King's College London

Research portal

Adaptive just-in-time value class optimization for lowering memory consumption and improving execution time performance

Research output: Contribution to journalArticle

Tobias Pape, Carl Friedrich Bolz, Robert Hirschfeld

Original languageEnglish
Early online date20 Aug 2016
Accepted/In press5 Aug 2016
E-pub ahead of print20 Aug 2016


King's Authors


The performance of value classes is highly dependent on how they are represented in the virtual machine. Value class instances are immutable, have no identity, and can only refer to other value objects or primitive values and since they should be very lightweight and fast, it is important to optimize them carefully. In this paper we present a technique to detect and compress common patterns of value class usage to improve memory usage and performance. The technique identifies patterns of frequent value object references and introduces abbreviated forms for them. This allows to store multiple inter-referenced value objects in an inlined memory representation, reducing the overhead stemming from meta-data and object references. Applied to a small prototype and an implementation of the Racket language, we found improvements in memory usage and execution time for several micro-benchmarks.

Download statistics

No data available

View graph of relations

© 2018 King's College London | Strand | London WC2R 2LS | England | United Kingdom | Tel +44 (0)20 7836 5454