衡量JavaScript中函数执行时间的最佳方法是什么?最好类似于Python timeit。
没有等效于timeit.py的内置模块,但是您可以自己轻松地计时代码的执行时间。您应该使用performance.now()而不是Date.now(),因为它更准确。
从MDN文档中:
performance.now()方法返回一个DOMHighResTimeStamp,以毫秒为单位,精确到千分之一毫秒(5微秒)
var start = performance.now();
//do your things
var end = performance.now();
var duration = end - start;
然后,您可以使用它来构建自己的计时库,如下所示:
function TimeIt() {
var self = this;
function howLong(iterations, testFunction) {
var results = [];
var total = 0;
for (var i = 0; i < iterations; i++) {
var start = performance.now();
testFunction();
var end = performance.now();
var duration = end - start;
results.push(duration);
total += duration;
}
var result = {
results : results,
total : total,
avg : total / results.length
}
return result;
}
self.howLong = howLong;
}
您将这样使用:
var timeit = new TimeIt();
var foo = function() {
//do some things
};
var result = timeit.howLong(1000, foo);
console.log("avg: " + result.avg);
console.log("total: " + result.total);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句