2012-07-04 65 views

Respuesta

53

De node --help:

node --max-stack-size=val 

Actualización: como los comentarios indican, a pesar de que el texto de ayuda aún muestra la opción --max-stack-size, en el nodo v0.10.x es necesario utilizar --stack-size lugar.

node --stack-size=val 
+1

BANG !!! esperando 10 minutos para aceptar, pero sí, ese es el tejón. Gracias. –

+0

bastante obvio ahora estoy mirando --help :) –

+0

considere http://code.google.com/p/v8/issues/detail?id=1764 si está en Windows – Esailija

4

En nodo versión 5 y 6, he verificado que la opción de establecer el tamaño máximo de pila es "--stack_size" (con un subrayado):

$ node --v8-options 
[...] 
--stack_size (default size of stack region v8 is allowed to use (in kBytes)) 
     type: int default: 984 

para aumentar el tamaño máximo de pila , acaba de publicar algo como:

$ node --stack_size=1200 

como han dicho otros, tenga en cuenta que al aumentar este valor puede conducir a un fallo de segmentación. El valor máximo seguro para mí con la versión 6 es 1361, pero parece más alto con la versión 5.

Mirando la imagen más grande, aumentar el tamaño de la pila puede no resolver todos sus problemas. Al escribir funciones recursivas en el nodo, su mejor estrategia es escribirlas en un tail-recursivemanner, ya que la versión 6 admite llamadas de cola adecuadas. Esto eliminará los desbordamientos de tamaño de la pila.

+0

El problema es que hay muchas maneras de rellenar la pila - map, forEach, Promise.all .... –

Cuestiones relacionadas