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

252
Vistas
"Montón de JavaScript sin memoria" al intentar crear una matriz grande

Para resolver un desafío de codificación que involucra números primos grandes, primero intento crear una matriz de longitud 999999999 con cada elemento que tenga el valor "verdadero". Sin embargo, cuando intento crear esta matriz, recibo el error "ERROR FATAL: error en la asignación de tamaño de tabla no válido: memoria de JavaScript sin memoria".

Probé dos formas de crear el Array y sucedió en ambas ocasiones.

 let numbers = Array(999999999); for (let i = 0; i < numbers.length; i++) { numbers[i] = true; }
 let numbers = []; for (let i = 0; i < numbers.length; i++) { numbers.push(true); }

Intenté usar el nodo --max-old-space-size para aumentar el límite de memoria hasta 5 GB, pero aún no funciona.

He leído que la longitud máxima de una matriz en Javascript es 4294967296, que es significativamente mayor que 999999999, por lo que estoy un poco confundido sobre por qué no funciona.

Parece que puedo crear el Array (999999999), el error ocurre cuando intento asignar el valor verdadero a cada elemento.

Cualquier consejo sería muy apreciado :)

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

5 GB (o GiB) no es suficiente.

Un booleano en una matriz en node.js necesita un promedio de 9,7 bytes de memoria. . Entonces, necesitaría 999,999,999 * 9.7 = alrededor de 9.7 GB (~ 9.03 GiB) de memoria, pero otras cosas vivirán en este espacio también, así que para estar seguro, asignaría alrededor de 11 GiB para ello.

Sin embargo, tener una matriz de este tamaño probablemente nunca sea una buena idea. Debería pensar en una forma diferente de abordar su problema. El objetivo del desafío es probablemente que encuentre una solución inteligente que no necesite bucles sobre mil millones de cosas.

about 4 years ago · Juan Pablo Isaza Denunciar

0

compañero. Puedes pensar en eso como si fuera un bucle infinito. Si haces algo que requiere mucha memoria, entonces es una mala idea. Necesitas encontrar otro enfoque. Atentamente

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