如何在JavaScript中使用类似于Python timeit的时间函数
在JavaScript中测量函数执行时间的最佳方法是什么?最好与Python timeit类似。我还没有对它进行真正的deap搜索,但就我搜索的结果而言,我什么也没找到。最简单的方法是,在函数开始时获取时间,在函数结束时获取时间,并从另一个函数中减去一个函数(在使用Date.parse以毫秒为单位转换它们之后)。这当然是一个幼稚的解决方案,但仍然有效。没有与timeit.py等效的内置模块,但是您可以自己轻松地为代码的执行计时。您应该使用performance.now()而不是Date.now(),因为它更准确 从MDN文档: 方法返回一个DOMHighResTimeStamp,度量为 以毫秒为单位,精确到千分之五毫秒(5 微秒) 然后,您可以使用它来构建自己的计时库,如下所示:如何在JavaScript中使用类似于Python timeit的时间函数,javascript,performance,function,Javascript,Performance,Function,在JavaScript中测量函数执行时间的最佳方法是什么?最好与Python timeit类似。我还没有对它进行真正的deap搜索,但就我搜索的结果而言,我什么也没找到。最简单的方法是,在函数开始时获取时间,在函数结束时获取时间,并从另一个函数中减去一个函数(在使用Date.parse以毫秒为单位转换它们之后)。这当然是一个幼稚的解决方案,但仍然有效。没有与timeit.py等效的内置模块,但是您可以自己轻松地为代码的执行计时。您应该使用performance.now()而不是Date.now(
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);
不是真的,有,但不是你想要的,怎么样?
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);