Le 3/2/13 1:23 PM, Jeff MAURY a écrit : > On Sat, Mar 2, 2013 at 9:43 AM, Emmanuel Lécharny <elecha...@gmail.com>wrote: > >> Le 3/2/13 9:10 AM, Julien Vermillard a écrit : >>> Hi, >>> Agreeing with jeff, you can't complain of the lack of an accessor, when >> you >>> just voided the attachment ;) >> Again, this is not the interesting part n this article... >>> I really wonder what JDK guys have in mind with AIO, it's far of being a >>> slick API, it doesn't support UDP (you need to mix AIO and NIO if you >> want >>> to support TCP and UDP) and I can't see how it could be a performance >> gain ? >> >> Java AIO implementation is supposed to benefit from OS taht has a >> specific way to deal with AIO (through completion queues, like what is >> done on Windows, some Linux versions and probably other OS). >> > This is not yet done in the current implementation of the JDK. Maybe JDK8 ?
We have to check if JDK8 is any different. > >> This page is providing some information : >> http://www.kegel.com/c10k.html#aio >> >> Another very complete description : >> >> http://stackoverflow.com/questions/4093185/whats-the-difference-between-epoll-poll-threadpool >> >> Regarding AIO/ePoll on linux, an interesting paper : >> >> https://docs.google.com/viewer?a=v&q=cache:CwPj9geCCTkJ:www.linuxsymposium.org/archives/OLS/Reprints-2002/lahaise-reprint.pdf+&hl=en&gl=fr&pid=bl&srcid=ADGEESj6bzG_kAkqH8KQGWL5Evt4yDbIEhrsaaNMD4eD7p-bhJHoAjjQeT3Ys8fXWY_dn88WY98kW0Hg2-sBIPrvFpBpniMrKK6wY07lY80x1ZT9tEX_TERnxwosL6WXjokFs_huSdX6&sig=AHIEtbRAgWiO-HR0BOjkxh3JcYetJpTXnA >>> After few year of usage I start to think the whole java.nio and >>> java.concurency are weirdly designed API. >> That's probably why API like MINA are necessary :) >>> Anyway we can't expect more performance for AIO since it's probably just >> an >>> API built on top of NIO. >> Not so sure. >> > It's not done on top of NIO but the current implementation (JDK7) does not > use OS based NIO but does more or less what MINA NIO does That's not exactly true. If you look at OpenJDK 7 code, at least on Windows, AIO uses CompletionPort (the WindowsAsynchronousChannelProvider class depends on Iocp class). On MacOSX, I'm not sure if it's not using a wrapper on top of NIO (seems likely) We can ignore Microsoft implementation, but MO, that would be a mistake... -- Regards, Cordialement, Emmanuel Lécharny www.iktek.com