La principal razón es que su utilidad se encuentra realmente en un segmento bastante específico de aplicaciones. En realidad, cualquier aplicación podria beneficiarse de un aumento de velocidad usando NIO, pero como las librerias clásicas de entrada/salida ya utilizan parte de las novedades internamente, la ventaja se nota con el simple uso de la version 1.4
Se pueden resumir las ventajas de java.nio en dos principalmente:
- E/S multiplexada, no bloqueante
- Acceso a buffers directos (zero copy)
JavaOne 2003 Technical Session (Benchmark)
- Apache 2.0.42 for small file (1 KB)
- thttpd 2.20c for large file (1 MB throttled to 56kb/sec)
- Java 1.4.2 amb java.nio i java.io
- Multi-Threaded Pool (java.io)
- 2+2 Threads java.nio (2 acceptors + 2 dispatchers)
La versión java.nio con selector no bloqueante ofrece un rendimiento a la par con las otras soluciones y un uso de memoria fijo que no aumenta con el número de conexiones.
0 comentarios:
Publicar un comentario en la entrada