2012-07-04 25 views

Trả lời

53

Từ node --help:

node --max-stack-size=val 

Cập nhật: như các ý kiến ​​cho thấy, mặc dù các văn bản trợ giúp vẫn liệt kê các tùy chọn --max-stack-size, trong nút v0.10.x bạn cần phải sử dụng --stack-size để thay thế.

node --stack-size=val 
+1

BANG !!! chờ đợi 10 mintutes để chấp nhận, nhưng yep đó là badger. cảm ơn. –

+0

khá hiển nhiên bây giờ tôi đang xem --help :) –

+0

xem xét http://code.google.com/p/v8/issues/detail?id=1764 nếu bạn đang ở trên windows – Esailija

4

Trong nút phiên bản 5 và 6, tôi đã xác minh rằng các tùy chọn để thiết lập kích thước ngăn xếp tối đa là "--stack_size" (với một dấu gạch dưới):

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

Để tăng kích thước ngăn xếp tối đa , chỉ cần phát hành một cái gì đó như:

$ node --stack_size=1200 

Lưu ý rằng việc tăng giá trị này có thể dẫn đến lỗi phân đoạn. Giá trị an toàn tối đa cho tôi với phiên bản 6 là 1361, nhưng có vẻ cao hơn với phiên bản 5.

Nhìn vào bức tranh lớn hơn, tăng kích cỡ ngăn xếp có thể không giải quyết được tất cả các vấn đề của bạn. Khi viết các hàm đệ quy trong nút, chiến lược tốt nhất của bạn là viết chúng trong một số tail-recursivemanner, vì phiên bản 6 hỗ trợ các cuộc gọi đuôi thích hợp. Điều này sẽ loại bỏ tràn bộ đệm kích thước.

+0

Vấn đề là, có nhiều cách để xếp chồng - bản đồ, forEach, Promise.all .... –

Các vấn đề liên quan