computing_occurs

Desde hace mucho tiempo, sé que hay se almacenan los flujos al leer o escribir ... que sí, pero la pregunta que me suele plantear es "¿cuánto? ¿cuál es el orden de magnitud? ".

Así que hice una referencia rápida a tener, las mediciones, este aumento en el rendimiento ... y perturba la mente! Puedo obtener los factores de 22 en lectura y 35 en la escritura!

Descripción

Se escribe un archivo temporal X MB:

1) sin búfer (es decir, OutputStream out = new FileOutputStream(myFile) ) y luego la cama de nuevo sin búfer ( InputStream in = new FileInputStream(myFile) )

2) y luego inserta un BufferedInputStream/BufferedOutputStream dans l'initialisation.

Los tiempos se toman justo antes del inicio de la lectura / escritura y justo después de cerrar la secuencia.

Medio ambiente

Estos valores de referencia se llevaron a cabo en un Core2 Duo a 2MHz, 2GB de RAM, Windows XP, con JDK 6.0 (actualización 11).

Resultados

Todas las horas siguientes se ofrecen en milisegundos, el factor es la relación SansBuffer/AvecBuffer .

Leer WRITE
(MB) No hay buffer Con tampón Factor No hay buffer Con tampón Factor
Una 1437 65 22,1 3274 90 36,4
5 7218 322 22,4 16.487 462 35,7
10 17.275 757 22,8 36.884 1045 35,3
50 76.187 3441 22,1 180.695 5178 34,9
100 144.353 6.378 22,6 322.384 9284 34,7

Conclusión: la próxima vez que utilice el flujo, considere el buffer :)

Artículos Relacionados
    Ningún artículo similares que se encuentran