你更喜欢用哪种方法来测试你的Javascript的速度,为什么?[关闭]

eivnm1vs  于 2023-01-04  发布在  Java
关注(0)|答案(4)|浏览(93)

已关闭。此问题为opinion-based。当前不接受答案。
**想要改进此问题吗?**请更新此问题,以便editing this post可以用事实和引文来回答。

昨天关门了。
Improve this question
我只是想知道人们正在使用什么方法来测试他们的javascript的执行速度,并寻找性能瓶颈,无论他们只是简单的代码片段或服务。
我也想知道你为什么会提倡这种方法。灵活性?简单性?或者也许有一个单一的,正确的方法。无论是什么,我正在寻找最好的方法来使用,为什么你会这样说。
(也许这个问题应该放在社区wiki上讨论?或者因为太主观而完全不合适?但我正在寻找清晰的例子来说明为什么会使用某些选项,我会相应地标记最佳答案。)

nkhmeac6

nkhmeac61#

JSPerf.com是一个很好的JS基准测试站点,它更多地用于对不同的方法进行基准测试,而不是对您自己的代码进行基准测试(但是没有什么能阻止您使用它来对您的代码进行基准测试)。

wfveoks0

wfveoks02#

关于这一点,有一个非常有用的讨论,我想你会发现:How do you performance test JavaScript code?.
我刚开始玩Firebug的分析器,它看起来很光滑。试试看,也许这就是你要找的。
你也可以尝试在js中使用console.time和console.timeEnd,它看起来像这样:

console.time('yourTimer');

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

console.timeEnd('yourTimer');
avkwfej4

avkwfej43#

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

bvk5enib

bvk5enib4#

注意:纯函数的最简单实现,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();
        
// Capture and store the elapsed time 
const timeElapsed = timingMonitor();

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

相关问题