Any major performance change with I/O from JDK 6 that one should be aware of?
Fabrizio Giudici
Fabrizio.Giudici at tidalwave.it
Mon May 14 04:05:21 PDT 2012
On Mon, 14 May 2012 09:56:45 +0200, Alan Bateman <Alan.Bateman at oracle.com>
wrote:
> On 13/05/2012 23:25, Fabrizio Giudici wrote:
>>
>> Ok, I was told it's the wrong place. But if I try to submit it to
>> bugs.sun.com as Mac OS X (non Oracle) is rejected. I've filed it as Mac
>> OS X (Oracle) even though it's OpenJDK 7. I hope it's correct.
>>
>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7168505
>>
> Thanks, I think see what's going on. Can you try on exclude
> MappedByteBuffer.load from compilation and re-run your tests to see if
> that "fixes" the problem, ie:
>
> cat > .hotspot_compiler << EOF
> exclude java/nio/MappedByteBuffer load
> EOF
>
> You'll know if you've excluded it if you get a message such ###
> Excluding compile ... message.
I was going to ask you something similar, as after looking at the sources
of MappedByteBuffer I think there could be a over-optimization. But I'm
definitely not a HotSpot expert.
Bingo. See console log below, in any case I'm getting now a similar
performance than Apple JDK 6 and I see disk reads in the system monitor.
Since this seems to workaround the problem for my app, how can I reliably
set the .hotspot_compiler stuff? I mean, is there any -XX option that can
be used as well?
Thanks.
[Mistral-MacOSX:WorkAreas/SolidBlue/solidblue-src] fritz% java -version
CompilerOracle: exclude java/nio/MappedByteBuffer.load
java version "1.7.0_04"
Java(TM) SE Runtime Environment (build 1.7.0_04-b21)
Java HotSpot(TM) 64-Bit Server VM (build 23.0-b21, mixed mode)
Mistral-MacOSX:WorkAreas/SolidBlue/solidblue-src] fritz% java -cp
modules/IntegrityCheckerProvider/target/test-classes/
it.tidalwave.integritychecker.impl.IoPerformanceTest
Creating test files...
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile0
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile1
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile2
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile3
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile4
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile5
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile6
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile7
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile8
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile9
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile10
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile11
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile12
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile13
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile14
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile15
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile16
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile17
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile18
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile19
Read 1020 MB, speed 1586 MB/sec
[Mistral-MacOSX:WorkAreas/SolidBlue/solidblue-src] fritz% vi
.hotspot_compiler
[Mistral-MacOSX:WorkAreas/SolidBlue/solidblue-src] fritz% cat
.hotspot_compiler
exclude java/nio/MappedByteBuffer load
[Mistral-MacOSX:WorkAreas/SolidBlue/solidblue-src] fritz% java -cp
modules/IntegrityCheckerProvider/target/test-classes/
it.tidalwave.integritychecker.impl.IoPerformanceTest
CompilerOracle: exclude java/nio/MappedByteBuffer.load
Creating test files...
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile0
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile1
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile2
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile3
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile4
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile5
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile6
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile7
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile8
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile9
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile10
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile11
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile12
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile13
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile14
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile15
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile16
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile17
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile18
>>>> creating /var/folders/7b/y9nv6nss0q5fgjnzxqxc2tr00000z9/T/testfile19
### Excluding compile: java.nio.MappedByteBuffer::load
Read 1020 MB, speed 99 MB/sec
--
Fabrizio Giudici - Java Architect, Project Manager
Tidalwave s.a.s. - "We make Java work. Everywhere."
fabrizio.giudici at tidalwave.it
http://tidalwave.it - http://fabriziogiudici.it
More information about the macosx-port-dev
mailing list