ClassValue perf?

Jochen Theodorou blackdrag at gmx.org
Fri Apr 29 10:17:27 UTC 2016



On 29.04.2016 10:28, Michael Haupt wrote:
> All,
>
> see http://cr.openjdk.java.net/~mhaupt/8031043/ for a snapshot of what
> is currently available.
>
> We have three patches:
> * Christian's, which simply reduces the HashMap size,
> * Peter's, which refactors ClassValueMap into a WeakHashMap,
> * mine, which attempts to introduce the single-value storage
> optimization John had suggested (I worked on performance with Aleksey -
> thanks!).
>
> All of these are collected in the patches subdirectory for convenience.
> (Peter, I adapted your patch to the new Unsafe location.)
>
> I extended Peter's benchmark (thanks!) to cover single-value storage;
> the source code is in the benchmark subdirectory, together with raw
> results from running the benchmark with each of the three patches
> applied. A results-only overview is in benchmark-results.txt.
>
> The three are roughly on par. I'm not sure the single-value storage
> optimization improves much on footprint given the additional data that
> must be kept around to make transition to map storage safe.
>
> Opinions?

my fear is a bit that having only a single value, will not be enough if 
you have for example multiple dynamic languages running... let's say 
Nashorn, JRuby, and Groovy. Also, if I ever get there, using multiple 
values would become a normal case in Groovy.

So any size depending optimization looks problematic for me

bye Jochen



More information about the mlvm-dev mailing list