Tony Poppleton wrote:
Hi,

Further to the previous mail, I have already implemented my own 
AbstractHttpEntity to eliminate a byte[] copy.  And I have seen the NIO 
implementations of HttpEntities, however they don't seem to copy using NIO 
methods so they won't be any faster than the standard IO implementations.

Anyway, it seems I have to go a level deeper than this class to be able to do 
the NIO copy.  Is this the right direction to be digging in?

Thanks,
Tony


Tony

Contrary to a common misconception, NIO is significantly slower than the classic blocking I/O in terms of raw data throughput. Modern operating systems and JVMs have become pretty efficient at switching thread contexts. Connection multiplexing starts paying off only when the number of concurrent connections exceeds 2000 or direct data streaming from or to a file is used.

In other words, NIO on the client side makes sense only if one wants a fully asynchronous processing model for a reason other than just performance. Overall, I personally think NIO is not very useful for client side HTTP. However, if you are interested in experimenting with NIO copy operations, you could give HttpCore NIO a try:

http://hc.apache.org/httpcomponents-core/tutorial/html/nio.html
http://hc.apache.org/httpcomponents-core/tutorial/html/nio.html#d0e1686

Hope this helps

Oleg


Message du 09/01/10 19:30
De : "Tony Poppleton" A : "HttpClient User Discussion [HttpClient User Discussion]" Copie à : Objet : Efficiently repeating identical requests

Hi,

I send out the exact same HttpPost request every 3 milliseconds and would like 
to optimize it.

As the POST data is exactly the same, I would like to hold it in a direct 
ByteBuffer so it is in the kernel memory, and then use the efficient NIO 
transfer methods to send it to the socket.  Is this possible with HttpClient, 
and if so how would I go about implementing this?

Many thanks,
Tony

--------------------------------------------------------------------------------------- Orange vous informe que cet e-mail a ete controle par l'anti-virus mail. Aucun virus connu a ce jour par nos services n'a ete detecte.



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to