gpt4 book ai didi

javascript - 为什么 JavaScript 中的递归似乎比 for 循环慢得多?

转载 作者:行者123 更新时间:2023-12-03 00:15:32 26 4
gpt4 key购买 nike

我写了一篇文章,指出当使用 Node.js 在 AWS Lambda 上运行时,递归比非递归方法慢得多 https://hackernoon.com/aws-lambda-go-vs-node-js-performance-benchmark-1c8898341982

我对这一发现有点感兴趣,并尝试比较这两者。我的发现与本文指出的非常相似,即在简单的斐波那契示例中,递归比 for 循环慢 5 倍。 https://codesandbox.io/s/y0xvn96xzv

在 JavaScript 中产生这种效果的原因是什么?我也很高兴听到在使用 JavaScript 调用堆栈时是否存在其他类似的巧合,或者一些需要避免的一般规则以及避免性能问题的“最佳实践”。

最佳答案

递归通常比迭代慢,因为除了管理循环内容之外,您还必须管理调用堆栈帧。所以最后,将运行更多代码。

关于javascript - 为什么 JavaScript 中的递归似乎比 for 循环慢得多?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54539180/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com