Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

176
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda