Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

178
Vistas
Uso de memoria de objetos ArrayBuffer y Blob

Obtengo fragmentos de datos de ArrayBuffer y agrego cada fragmento a una matriz en un web worker y, cuando obtengo todos los fragmentos, convierto ese conjunto de fragmentos en un blob.

 //worker.js const array = [] this.onmessage = function(e){ if(e.data.done) { const blob = new Blob(array); this.postMessage(blob) shunks.length = 0 } else { array.push(e.data.chunk) } }

MIS PREGUNTAS SON

  1. si el tamaño de la matriz alcanza los 2 GB, se almacenará en la memoria, ¿verdad? ¿Eso significa que no podré llenar esa matriz con datos mayores que mi memoria disponible?
  2. Cuando creo un blob a partir de esa matriz, ¿el blob también tomará otros 2 GB de la memoria?
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Eso depende...

Teóricamente, sí, cada ArrayBuffer ocupará su byteLength en la memoria, y sí, los blobs creados a partir de él ocuparán un nuevo espacio en la memoria.

Sin embargo, los navegadores pueden usar algunas optimizaciones aquí, por ejemplo IIRC Chrome guarda sus Blobs en el disco del usuario en lugar de inflar la memoria, y creo que podrían usar trucos similares para ArrayBuffers.

Entonces, cuando sea posible, puede ser preferible crear un Blob por fragmento más pequeño (ya que cada Blob "fragmento" se guardaría en el disco), pero eso es bastante inseguro y se basa en suposiciones sólidas. Si necesita estar seguro, mejor asuma que estará en la memoria y que corre el riesgo de alcanzar un límite.

Si realmente necesita manejar archivos grandes, puede considerar Streams, por ejemplo, la nueva API de acceso al sistema de archivos nos permite escribir en el disco como flujos. En los sistemas en los que no se puede acceder a esto, puede intentar guardar cada fragmento en IndexedDB.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda