I / O performance: selector (NIO) vs asynchronous channel (NIO.2)

The weird thing is that I haven't been able to google a clear answer to NIO.2 asynchronous I / O using NIO muxed I / O via java.nio.channels.Selector.

So my question is: Is NIO.2 AsynchronousChannel better performance than NIO Selector? Of course, I'm interested in the server side of things under different load profiles - the number of simultaneous connections / average lifetime / connection traffic.

The only information I could find is that Windows IOCP is slightly better than Windows.

+3


source to share


1 answer


I don't think NIO.2 will have any better performance than NIO, because NIO.2 still uses select / poll system calls and thread pools to simulate asynchronous I / O. One example is that Netty removed support for NIO.2 in 4.0.0 because the author believes that NIO.2 does not provide better performance than NIO on the Linux platform.



+4


source







All Articles