Hi Emmanuel,
I'm a little bit puzzled but some of the results I get. First of all, we are using MINA-1.0.1, with different JVM (JRockit, IBM, Sun) on different platforms (Linux, Mac OSx).
The published results are on Linux? What kernel are you using? I also made some tests with MINA and on the *same* hardware with *different* Operating Systems I got different results. Tested on Linux kernel 2.4, Linux kernel 2.6 and Solaris. My server responds with a lot of small packet to the client request. This approach on kernel 2.6 seems that is 4.5X slower than on kernel 2.4 or Solaris. Traced with strace it seems that the kernels is descheduling my server application: the same sized packet sometimes takes a *lot* more time to send (time spent in system call "write") then normal. This 4.5X seems like a constant :-) Does not mater if the application is in C or C++ or Java using MINA. The only way to overcome the 2.6 kernel bad behavior is to buffer all the small packets and send it onces. This is why I asked on the mailing list a few weeks ago the question how is this possible in MINA. No punishment from the 2.6 kernel if I am using OutputStreamBuffer, but this is not possible in MINA. I would like to see something like this in MINA. Is it possible? Regards, Csaba