DatagramChannel performance issue

Alan Bateman Alan.Bateman at oracle.com
Sun Sep 2 19:48:34 UTC 2018


On 02/09/2018 20:06, Martin Thompson wrote:
> :
> I'm surprised you have not heard of performance issues with NIO
> before. Most people I know that work in this space have issues with
> Java. Maybe there could be better channels to solicit feedback and
> help Java. Survivor bias would suggest we do not get to hear of the
> failed cases that have to go with other languages and don't come back
> to Java for IO code.
It's important to report bugs performance issues. If folks don't have 
time to submit a bug then sending mail here is okay too. There are 
issues and changes discussed here all the time but mostly in other areas 
of NIO such as charsets, buffers, files, selectors or socket channels. 
DatagramChannel does not come up very often.

> :
>
> As I said I'd be happy to help. What would the process involve and
> what would be the expectation of my efforts being a worthwhile
> investment?
If you are looking to contribute then you'll need to sign the SCA 
(details on the "Contributing" page [1]).

For the specific issue then I think prototype changes to pass in an area 
of memory to the native method so it can populate it with the 
family/address/port. That will allow you to create the socket address in 
java and avoid the expensive upcalls from the JNI code. You'll need to 
be careful with the endianness but it should otherwise be straight forward.

>
>> As regards the benchmarks, can you package these up as and send an
>> attachment? This is important because we can't accept contributions that
>> don't come via OpenJDK infrastructure.
> Attached a stripped down version of the repo.
Thanks, I will look at them.

[1] http://openjdk.java.net/contribute/


More information about the nio-dev mailing list