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