javascript – 如何强制node.js进行更深层次的递归?

我有一个memoized递归算法f(n)

当我运行f(1000)时,一切正常,运行不到一分钟.

当我运行f(10000)时,我得到一个范围错误/超出最大调用堆栈大小.

我不相信这个错误与我的算法的效率有关(这是由于记忆的多项式),而且似乎更像是一个配置的东西.

我尝试做节点app.js –stack-size = 32000并且没有使错误消失.我认为当前的堆栈大小足以满足10倍.该堆栈大小是否可能太小,或者是否有办法强制/设置节点中的配置来处理n = 10000的情况?

此外,–stack-size选项似乎没有做任何事情……我把它减少到“1”并且我的程序运行速度一样快.

最佳答案 似乎Node要求将其启动标志放在正在执行的文件名之前.

node --stack-size=32000 app.js
点赞