arXiv · 1606.06726
Adaptive Just-in-time Value Class Optimization for Lowering Memory Consumption and Improving Execution Time Performance
Abstract
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.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Tobias Pape, Carl Friedrich Bolz, Robert Hirschfeld. 2016-06-21. Adaptive Just-in-time Value Class Optimization for Lowering Memory Consumption and Improving Execution Time Performance. https://doi.org/10.1016/j.scico.2016.08.003
Cite the original work for its findings. Save a collection to share your selection of sources.