如何测量函数执行所花费的时间

2022-08-29 21:59:31

我需要以毫秒为单位获取执行时间。

我最初在2008年问这个问题。当时接受的答案是使用新的Date().getTime() 但是,我们现在都可以同意使用标准性能.now()API更合适。因此,我正在改变对这一个问题的公认答案。


答案 1

使用 performance.now()

var startTime = performance.now()

doSomething()   // <---- measured code goes between startTime and endTime
    
var endTime = performance.now()

console.log(`Call to doSomething took ${endTime - startTime} milliseconds`)

在它需要导入性能Node.js

导入性能

const { performance } = require('perf_hooks');

使用 console.time:(生活水平)

console.time('doSomething')
    
doSomething()   // <---- The function you're measuring time for 
    
console.timeEnd('doSomething')

注意:
传递给 和 方法的字符串必须匹配
计时器才能按预期完成)。time()timeEnd()

console.time()文件:


答案 2

使用 new Date().getTime()

getTime() 方法返回自 1970 年 1 月 1 日午夜以来的毫秒数。

前任。

var start = new Date().getTime();

for (i = 0; i < 50000; ++i) {
// do something
}

var end = new Date().getTime();
var time = end - start;
alert('Execution time: ' + time);