ClassValue perf?

Michael Haupt michael.haupt at oracle.com
Fri Apr 29 08:28:20 UTC 2016


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 optimisation 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 optimisation improves much on footprint given the additional data that must be kept around to make transition to map storage safe.

Opinions?

Best,

Michael

-- 

 <http://www.oracle.com/>
Dr. Michael Haupt | Principal Member of Technical Staff
Phone: +49 331 200 7277 | Fax: +49 331 200 7561
Oracle Java Platform Group | LangTools Team | Nashorn
Oracle Deutschland B.V. & Co. KG | Schiffbauergasse 14 | 14467 Potsdam, Germany

ORACLE Deutschland B.V. & Co. KG | Hauptverwaltung: Riesstraße 25, D-80992 München
Registergericht: Amtsgericht München, HRA 95603

Komplementärin: ORACLE Deutschland Verwaltung B.V. | Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
Handelsregister der Handelskammer Midden-Nederland, Nr. 30143697
Geschäftsführer: Alexander van der Ven, Jan Schultheiss, Val Maher
 <http://www.oracle.com/commitment>	Oracle is committed to developing practices and products that help protect the environment

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/mlvm-dev/attachments/20160429/d39703c1/attachment.html>


More information about the mlvm-dev mailing list