Reduced performance in Java 9.0.1 (vs 8u152)

Igor Veresov igor.veresov at oracle.com
Sat Dec 23 02:40:37 UTC 2017


The barriers are substantially more complicated though.

igor

> On Dec 22, 2017, at 2:12 PM, Martin Traverso <mtraverso at gmail.com> wrote:
> 
> Yes, I'm aware of that change. This code is allocation-free, so I wasn't expecting that to be a factor. I'll rerun the benchmarks with that and report back.
> 
> - Martin 
> 
>> On Dec 22, 2017, at 1:20 PM, Eric Caspole <eric.caspole at oracle.com> wrote:
>> 
>> Hi Martin,
>> 
>> As you may know, JEP 248 made G1 the default collector for 9 where it was ParallelGC earlier: http://openjdk.java.net/jeps/248
>> 
>> I tried your JMH specifying +UseParallelGC by JMH annotations and the performance of 9 seems quite even to 8u131 that I have handy.
>> 
>> Maybe you could try this for yourself and see how it goes.
>> 
>> Regards,
>> Eric
>> 
>>> On 12/22/2017 12:59 PM, Martin Traverso wrote:
>>> Hi,
>>> 
>>> We're in the process of migrating and qualifying Presto (http://prestodb.io) to build and run on Java 9. One of the key dependencies is a library of pure-java compression and decompression algorithms (http://github.com/airlift/aircompressor).
>>> 
>>> In the course of trying to understand the performance characteristics when running on Java 9, we discovered a significant drop in performance for the compression algorithms (up to 10%) when compared to 8u152.
>>> 
>>> Here's a summary of the results and instructions on how to run the benchmarks: https://github.com/martint/aircompressor/tree/perf
>>> 
>>> These are the outputs of JMH's perfasm profiler:
>>> 
>>> Java 8u152: https://github.com/martint/aircompressor/blob/perf/perf-8.txt
>>> Java 9.0.1: https://github.com/martint/aircompressor/blob/perf/perf-9.txt
>>> 
>>> The generated assembly looks very different, but as far as I can tell, it's just different decisions of when and which registers to spill.
>>> 
>>> - Martin
>> 



More information about the hotspot-compiler-dev mailing list