Learn all about miniboxing in a 5 minute demo.

Miniboxed Value Encoding

paper Three papers best describe the miniboxing transformation and benchmarks:

The miniboxing plugin encodes all primitive values into long integers. To find out why, see the following resources:

Paper and Poster


Paper errata:

We were notified by our peers that one of the times reported is impossible to reproduce. While this does not affect the paper's contributions, we would like explain the discrepancy in detail:

Table 3 lists the times taken by the List create microbenchmark for the generic case as:

  • 16.7ms for the "Single context" case
  • 1841ms for the "Multi context" case

The number from the "Multi context" case was very noisy (with a standard deviation of 1068ms as shown in the first version of the paper) and we are also not able to reproduce it. We think this number was affected by a job running on the server we used for benchmarking, which would explain the long running time and the huge standard deviation seen in the measurements. Our expectation is that the numbers for "Single context" and "Multi context" should be comparable. The measurements taken on the Graal virtual machine (in Table 4) exhibit this expected behavior. We apologize for not double-checking this number, misleading other authors who tried to reproduce it.


Devoxx UK 2015 (London, UK)

Miniboxing Warnings (PNWScala, Portalnd, OR)

Miniboxing Transformation (ScalaDays 2014 Berlin, Germany)

Other Resources


Comments are always welcome! But to make the best use of them, please consider this:

Thanks! Looking forward to your messages!

comments powered by Disqus