Performance patch for AIX system api support of sun.nio.ch.FileChannelImpl.transferTo0()

Deven youdwei at linux.vnet.ibm.com
Mon Oct 17 22:48:25 PDT 2011


Hi nio-devs,

     sun.nio.ch.FileChannelImpl.transferTo0() native method will take 
advantage of Linux/Solaris system snedfile() apis to improve the 
performance of 
FileChannel.transferTo(long position,long count,WritableByteChannel 
<http://download.oracle.com/javase/7/docs/api/java/nio/channels/WritableByteChannel.html> target). 


     On AIX there is a similar system api called send_file() which will 
do the similar things Linux/Solaris sendfile() will do, however current 
transferTo0() dose not use it to optimize AIX performance.

      This patch add AIX send_file() into the transferTo0() native 
method, so AIX could also take advantage of AIX system api support for 
transferTo operation and will improve the performance of 
FileChannelImpl.transferTo() .

      The attached TransferToClient.java and TransferToServer.java is 
the performance test which can test the FileChannelImpl.transferTo() 
performance.

      If there is anybody could review this patch and give your suggestion?

Best regards!

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/nio-dev/attachments/20111018/9ba216b2/attachment.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: JSE-7195.diff
Type: text/x-patch
Size: 2001 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/nio-dev/attachments/20111018/9ba216b2/JSE-7195.diff 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TransferToServer.java
Type: text/x-java
Size: 1460 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/nio-dev/attachments/20111018/9ba216b2/TransferToServer.java 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TransferToClient.java
Type: text/x-java
Size: 1477 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/nio-dev/attachments/20111018/9ba216b2/TransferToClient.java 


More information about the nio-dev mailing list