boxing + unboxing a VT is not a no-op ?

Tobias Hartmann tobias.hartmann at oracle.com
Tue Jul 17 14:58:41 UTC 2018


Hi Remi,

okay, thanks for the details. Could you maybe upload the jmh benchmark .jar? I have problems to
build the entire benchmark suite from scratch and I cannot reproduce the performance difference when
extracting the benchmark methods and running them manually.

Thanks,
Tobias

On 17.07.2018 16:14, forax at univ-mlv.fr wrote:
> when i run the benchmark,
> 
> Benchmark                                                        Mode  Cnt    Score    Error  Units
> ReifiedListBenchMark.arraylist_integer_get                       avgt    9    0.055 ±  0.001  ms/op
> ReifiedListBenchMark.reifiedlist_intbox_get                      avgt    9  506.190 ±  7.978  ms/op
> ReifiedListBenchMark.valuelist_intbox_get                        avgt    9    0.027 ±  0.001  ms/op
> ReifiedListBenchMark.valuelist_intbox_inlined_reduce             avgt    9    0.027 ±  0.001  ms/op
> ReifiedListBenchMark.valuelist_intbox_innervalue_inlined_reduce  avgt    9    0.304 ±  0.004  ms/op
> 
> if you compare valuelist_intbox_get and valuelist_intbox_inlined_reduce you see that a value type that contains an int as as fast as an int, that's great but i'm more interested by the last two benchmarks.
> 
> valuelist_intbox_innervalue_inlined_reduce should be as fast as valuelist_intbox_inlined_reduce, because the only difference is value type to object boxing.



More information about the valhalla-dev mailing list