JavaScript性能评估

时间:2009-07-20 19:15:01

标签: javascript

背景:

我一直在寻找可以帮助您从理论上评估JavaScript效率(资源成本)的参考或工具。这个搜索已经发现了很多优秀的调试软件,但我无法通过使用资源消耗较少的方法找到有助于我优化代码的东西。

问题:

是否有任何资源(在线指南,列表,数据库,书籍,任何内容)或某些软件(基于网络,浏览器插件,IDE扩展程序)可帮助您优化JavaScript? < / p>

示例:

在IE浏览器中的{p> innerText / textContent在任一浏览器中的资源都比innerHTML少得多。

这是一种常识,因为它不那么强大,但我每天都听到其他比较,并且无法真正验证它们实际上是否更适合优化代码或更高效,即使我无法测试它!

有什么想法吗?

5 个答案:

答案 0 :(得分:8)

与strife25在同一行,firebug有一种非常方便的方法来测量时间而不处理任何日期。只需使用:

console.time("Your timer name");
//Execute some javascript
console.timeEnd("Your timer name");

然后,检查控制台。 alt text http://aquate.us/u/62232567893647972047.jpg

编辑 - 关闭30多秒。 :(

答案 1 :(得分:6)

评估Javascript的常用方法是评估一组代码执行所需的时间:

var begin = new Date().getTime();
//do stuff
console.debug( new Date().getTime() - begin );

但是,IE中存在一些问题。如果脚本运行<15ms,则IE返回0ms作为结果。

各种javascript库都有测试框架来帮助评估代码的速度。 Dojo的测试框架称为DOH。

John Resig还制作了一个名为FireUnit的firebug插件,它允许您轻松评估函数执行所需的时间,并通过一些配置,还输出函数的Big O,这是一个很棒的数据

查看JSConf上有关JS性能测试的Resig视频:

Measuring Javascript Performance - John Resig

FireUnit rundown

答案 2 :(得分:3)

我一直很喜欢使用Firebug的简单方法:

console.time("timer-name");

console.timeEnd("timer-name");

适用于粒度测量。

答案 3 :(得分:1)

Firebug的“个人资料”工具非常适合衡量javascript性能。它通过功能细分向您显示代码中的所有瓶颈,显示哪一个具有最高的平均时间,大多数呼叫等。

答案 4 :(得分:1)

IE8中的Profiler非常棒。它为您提供树视图以及包含时间(以毫秒为单位)