你更喜欢使用哪些方法来测试JavaScript的速度?为什么?

3
我想了解人们用什么方法来测试他们的JavaScript执行速度并查找性能瓶颈,无论是代码片段还是服务。
我也想知道为什么你会提倡这种方法。灵活性?简单性?或者可能有一个单一的正确方法。不管是什么,我正在寻找最佳方法以及为什么您会这样争辩。
(也许这是一个应该成为社区维基的问题?或者完全不合适,因为太主观?但我正在寻找阐述为什么使用某些选项的明确例子,并将标记最佳答案。)
4个回答

2

JSPerf.com 是一个用于JS性能测试的好网站。它更多地用于测试不同方法而非你自己代码的各个部分(但是你完全可以使用它来测试你的代码)。


丹尼尔,非常有趣。我会点赞的,因为这是测试jQuery中不同方法的绝佳方式。但我仍在寻找一种在应用程序中实现此功能的方法。 - Joshua Cody

1

这里有一个与之相关的SO讨论,我认为您会发现它很有用:如何测试JavaScript代码性能?

我刚开始使用Firebug的分析器,它看起来非常不错。试试看,也许正是您所需的。

您还可以尝试在JS中使用console.time和console.timeEnd。它会像这样:

console.time('yourTimer');

$('.some-div').hover(function() {
    $(this).slideUp();
}, function() {
    $(this).slideDown();
});

console.timeEnd('yourTimer');

0

timer.js。这只是一个简单的计时器,但在Google Chrome上,您可以获得微秒分辨率而不是普通的JavaScript毫秒分辨率。


非常好,我不认为我需要这种程度的精确度,但知道它的存在是很好的,万一有所改变。谢谢! - Joshua Cody

-1

注意:纯函数最简单的实现方式,使用 ES6 方法,不需要额外的变量,只需 3 行代码。处理同步和异步代码,因此不需要外部库,在 JavaScript 和 Node JS 中均可使用,甚至可以用来测试 API 的延迟。

// Create one-liner timer function
let [timer, timingMonitor] = [0, () => timer = !timer ? Date.now() : `${Date.now() - timer}ms`]
        
// Initiate timer
timingMonitor();

// Your code here
doSomething();

console.log(timingMonitor());
// Console output: "102ms", for example 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接