Reduced performance in Java 9.0.1 (vs 8u152)
Dawid Weiss
dawid.weiss at gmail.com
Fri Dec 22 21:40:48 UTC 2017
> I tried your JMH specifying +UseParallelGC by JMH annotations and the
> performance of 9 seems quite even to 8u131 that I have handy.
Just a note: we have observed a similar effect with a (long)
computational process which does
some minor GCs and logs GC timings at the end. The results are
significantly slower with G1GC on both 8 and 9 (the times below are
quite repeatable):
JDK, GC, Time
8, g1, 3h 25m
9, g1, 3h 22m
8, par (default), 3h 0m
The actual in-GC timings reported are much smaller than the overall
absolute difference -- ~2 minutes for both.
The process is highly concurrent and heavy on computation, I/O...
pretty much every aspect you can think of.
To be fair to the G1 -- it acts *much* better on larger heaps and
low-memory conditions (the default GC on 8 falls into
repeated major collections and effectively stalls the process).
Dawid
>
> 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