CPU周期,内存使用情况,执行时间等等?

除了感知代码的运行速度之外,是否有一种量化的方法来测试JavaScript的性能?


当前回答

JSLitmus是一个轻量级的工具,用于创建特别的JavaScript基准测试

让我们看看函数表达式和函数构造函数之间的性能:

<script src="JSLitmus.js"></script>
<script>

JSLitmus.test("new Function ... ", function() { 
    return new Function("for(var i=0; i<100; i++) {}"); 
});

JSLitmus.test("function() ...", function() { 
       return (function() { for(var i=0; i<100; i++) {}  });
});

</script>

我上面所做的是创建一个函数表达式和函数构造函数,执行相同的操作。结果如下:

FireFox性能结果

IE性能结果

其他回答

性能测试最近成了一个流行词,但这并不是说性能测试在QA中不是一个重要的过程,甚至在产品发布之后也不是。当我开发应用程序时,我使用了许多不同的工具,其中一些是上面提到的chrome Profiler,我通常会查看一个SaaS或一些开源的东西,我可以开始工作,然后忘记它,直到我收到警告,说有些东西出了问题。

有很多很棒的工具可以帮助您关注性能,而不需要您跳过一些基本的提醒设置。这里有一些我认为值得你自己去看看。

Sematext.com Datadog.com Uptime.com Smartbear.com Solarwinds.com

为了画出更清晰的画面,这里有一个关于如何为react应用程序设置监控的小教程。

我通常只测试javascript的性能,脚本运行多长时间。jQuery Lover提供了一个很好的测试javascript代码性能的文章链接,但这篇文章只展示了如何测试javascript代码运行多长时间。我还推荐阅读一篇文章,题为“在处理大量数据集时改进jQuery代码的5个技巧”。

有些人建议使用特定的插件和/或浏览器。我不会,因为它们只对一个平台有用;在Firefox上的测试运行不能准确地转换到IE7上。考虑到99.999999%的网站有多个浏览器访问,您需要检查所有流行平台上的性能。

我的建议是将其保留在JS中。创建一个包含所有JS测试的基准测试页面,并计时执行。您甚至可以使用ajax将结果发送给您,以保持它完全自动化。

然后在不同的平台上重复。

我认为JavaScript性能(时间)测试已经足够了。我在这里找到了一篇关于JavaScript性能测试的非常方便的文章。

UX Profiler从用户的角度来解决这个问题。它将所有浏览器事件、网络活动等由用户操作(点击)引起的事件进行分组,并考虑到延迟、超时等所有方面。