【问题标题】:How expensive are function calls in JavaScript?JavaScript 中的函数调用有多昂贵?
【发布时间】:2011-01-06 00:41:39
【问题描述】:

我一直在查看其他人的 JavaScript 代码,我注意到许多程序员倾向于创建可以与调用它们的函数相结合的函数。一个例子是this; 'initWebGL' 功能可以与'start' 功能结合使用,它的功能相同。另一个示例是在this 的源代码中,其中每15 毫秒调用一次的函数“tick”调用其他两个可以与“tick”组合的函数。我了解这在组织方面的质量,但我对它对绩效的影响感到好奇。这样做是否很好,尤其是考虑到 JavaScript 是一种解释型语言?

【问题讨论】:

  • 这不取决于您使用的解释器吗?
  • 如果一种编程语言要求你失去组织以保持足够的效率,那么该语言应该被解雇。
  • Javascript 中的函数调用比由组织不良的代码造成的维护噩梦要便宜。

标签: javascript optimization computer-science


【解决方案1】:

http://www.slideshare.net/madrobby/extreme-javascript-performance 幻灯片 10..19

10 000 次调用对 IE 和 Firefox 产生了影响。 1个电话不要。

【讨论】:

  • 哇,这很有趣!非常感谢!
  • 我从测试中得出的结果(使用 2010 年引擎性能水平)大约是每千次调用的最低成本为 1 毫秒。只是为了量化你的答案。
【解决方案2】:

任何语言的最佳实践是首先编写可读和可维护的代码,然后在需要时进行优化。

如果您的程序运行速度足够快,可以拆分成易于消化的块,那么就这样吧。如果它运行缓慢,那么就像 hobodave 提到的那样,配置文件以找出缓慢的原因。

很有可能,它是由调用函数以外的其他原因引起的,但如果它恰好是由调用函数引起的,然后开始将函数组合在一起,一旦你找到它.

【讨论】:

    【解决方案3】:

    了解“昂贵的函数调用”是一个完全模糊且特定于上下文的指标,最好的方法是自己分析它:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-07
      • 1970-01-01
      • 2016-04-30
      • 1970-01-01
      相关资源
      最近更新 更多