https://github.com/joanbr4/streamprocess
Ejercicio de eficiencia de los readStream
https://github.com/joanbr4/streamprocess
chunk csv readstream
Last synced: about 2 months ago
JSON representation
Ejercicio de eficiencia de los readStream
- Host: GitHub
- URL: https://github.com/joanbr4/streamprocess
- Owner: joanbr4
- Created: 2023-10-04T08:51:01.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2023-10-04T11:17:05.000Z (over 1 year ago)
- Last Synced: 2025-02-07T09:20:26.993Z (3 months ago)
- Topics: chunk, csv, readstream
- Language: JavaScript
- Homepage:
- Size: 4.88 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Pequeño ejercicio para analizar, tratar y comparar inmensos datos, en el formato .csv
Se leen con el metodo readFile y se analiza los tiempos de carga, así como la cantidad de memoria que se emplea, llegando a duplicar su usoPASOS
Primero iremos esta pagina https://www.stats.govt.nz/large-datasets/csv-files-for-download/ y nos descargaremos un archivo mínimo de 10Mb
En nuestra pagina Index.js importaremos el método readFile() y con el chivato del console.time(), analizaremos lo siguiente: tiempo y uso de memoria (mi media es 1500Mb, se que es bastante alto)
El uso de la memoria se ha duplicado y pero apenas 1s


Ahora vamos a compararlo mediante una lectura no entera, sino por trozos, mediante el método createReadStream(), podemos trozear este archivo y hace que las lecturas sean más rápidas y por ende el uso de la memoria, pero cuidado, porque queremos ver la lectura original y no trozos inconexos entre ellos, así, lo hiremos juntando y mostrandolo bien unido mediante un buen FOR

Al empezar la lectura, ya se puede ver claramente la diferencia de uso de la memoria, apenas ha subido el uso de la memoria y se queda estabilidado con el paso de los minutos!


EL tiempo ha tardado más, si miramos el codigo estamos concatenando cada carácter uno por uno, código que destruye el rendimiento.
Lo voy a actualizar, pero ya se aprecia claramente las bondades de leer a trozos un buena base de datos!
# StreamProcess