我有一个内存递归算法f(n)
当我运行 f(1000)
时,一切正常,运行时间不到一分钟。
当我运行 f(10000)
时出现范围错误/超出最大调用堆栈大小。
我不认为这个错误与我的算法效率有任何关系(由于内存是多项式的)并且似乎更像是一个配置问题。
我尝试执行 node app.js --stack-size=32000
并没有使错误消失。我原以为当前堆栈大小的 10 倍就足够了。该堆栈大小是否可能太小,或者是否有办法在 Node 中强制/设置一个配置来处理 n = 10000
情况?
而且 --stack-size 选项似乎没有做任何事情......我将它减少到“1”并且我的程序运行得同样快。
最佳答案
看起来好像 Node 需要在执行文件名之前放置它的启动标志。
node --stack-size=32000 app.js
关于javascript - 如何强制 node.js 进行更深层次的递归?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20941928/