为什么递归似乎比for循环在JavaScript中慢得多?
我想出了一个物品,其指出,递归比非递归的方法,用Node.js的 AWS上运行的λ时慢得多
我有点兴趣有关这一发现,并试图将这两个比较为好。我的研究结果已经非常相似,这篇文章指出递归是高达5倍以上的环通过简单的斐波那契例子更慢。
是什么理由或原因,以这种在JavaScript中的作用?还有我很乐意听到的话,用的JavaScript调用堆栈或一些一般的规则是什么,避免什么将是一个“最佳做法”,以避免出现性能问题工作时,也有其他类似的巧合。
回答如下:递归往往比迭代慢,因为你必须在除了管理循环的内容来管理调用堆栈帧。所以在最后,更多的代码会被执行。