Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

253
Views
"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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!