
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




Comentarios
Escriba un comentario Trackback