Hi,

On the Hotspot mailing list was the following post by Cleber Muramoto. It might 
be interesting to check MMapDirectory in Java 8!
 Mike, do you maybe setup another luceneutil test on Lucene on Beast with JDK 8 
GA? Can we do a comparison between JDK 7u60 and JDK 8 GA? It would be very 
interesting, because one reason some people want to have the native mmap 
variants because of the additional slowdown caused by the ByteBuffer wrapping.

Uwe

=== snip ===
Hello, I'm curious to know if there has been any low-level optmizations 
regarding direct buffers getXXX methods on JDK8 and, if they're planned to be 
integrated in JDK7, if applicable. I googled and took a look at the bug 
database but I couldn't find anything related.

I have a microbenchmark that does millions of iterations serializing and 
deserializing objects to/from ByteBuffers and I noticed that read performance 
on JDK 8 has increased by almost 45% in comparison to earliear JDK 7 releases 
in the serial case and more than 200% on the concurrent case! I think that the 
concurrent test is perhaps benefiniting from newer ForkJoinPool/concurrency 
code, but the difference in the serial case is still very large!

Bellow are the VM arguments that I'm using for the test:

$JAVA -server -XX:+UseParallelGC \
-XX:+UseLargePages -XX:MaxDirectMemorySize=10G -Xmx1g -XX:MaxInlineSize=256 \ 
-XX:+UnlockDiagnosticVMOptions -XX:+PrintInlining -XX:+LogCompilation

JDK8 seems to generate much more compiling information than the previous 
versions, but I wasn't able to find any indicators for such huge performance 
difference.

Here are the test results (collected with the diagnostic flags off, on a HP
G7 48 CPU box).

Concurrent Reads:

503K   Reads/s|Writes/s 161K (jdk7U10)
940K   Reads/s|Writes/s 165K (jdk7U40)
956K   Reads/s|Writes/s 159K (jdk7U60 EA)
1644K Reads/s|Writes/s 172K (jdk8-more than 3x faster than U10!)

Serial Reads:

137K Reads/s|Writes/s 146K
145K Reads/s|Writes/s 145K
143K Reads/s|Writes/s 155K
198K Reads/s|Writes/s 172K

Upon deserialization the test does a lot of short-lived allocations, but GC 
reports show very similar results for every JDK versions used in the test 
(about ~500 Young Gen Collections and ~1800ms spent by PS Scavenge).

Anyway, great work!!! I hope I can migrate to JDK8 as soon as possible.

Regards

Cleber

-----
Uwe Schindler
H.-H.-Meier-Allee 63, D-28213 Bremen
http://www.thetaphi.de
eMail: [email protected]




---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to