好吧,一般来说是的,如果您正在绘画,您还可以考虑粗略的绘画时间:
var start = +new Date();
//Do dom methods draw to canvas etc
setTimeout( function() {
var stop = +new Date();
console.log( stop - start - 13 );
}, 13 );
此外,请确保将每个测试作为函数调用,并在对函数计时之前对函数进行预热,而不是直接执行代码。
function test1() {
//ops
}
function test2() {
//ops
}
var l = 1e5;
while (l--) {
//warmup
test1();
test2();
}
var start = +new Date();
var l = 1e5;
while (l--) {
test1();
}
var stop = +new Date();
console.log(stop - start);
var start = +new Date();
var l = 1e5;
while (l--) {
test2();
}
var stop = +new Date();
console.log(stop - start);
您应该注意,此设置会引入 JIT 优化(这就是它首先完成的原因),因此您应该注意消除死代码。