为什么 console.time 显示的时间比实际时间短很多?
Why does console.time show much lower time than the actual time?
我正在使用 Chrome 和基于 Chromium 的 Edge 中的 console.time();
方法测试 JavaScript 的速度片段。当我在浏览器中 运行 代码片段时,至少需要 2 秒,但 time
的显示结果在毫秒左右,这是怎么回事?
var list = [...Array(50000000).keys()];
console.time("time");
var x = 0;
for (let i = 0, n= list.length; i<n ;i++) {
x++;
}
console.timeEnd("time");
我用 performance.now()
对此进行了测试,我得到了与 time
相同的结果,这确实令人困惑,但它在 Firefox 中工作得很好。
这是 Chrome/Edge 错误吗?如果是,如何为 chrome 提交问题?
更新
感谢@vlaz 和@Jax-p 我发现我错过了数组 generation time
:
console.time("time");
var list = [...Array(50000000).keys()];
var x = 0;
for (let i = 0, n= list.length; i<n ;i++) {
x++;
}
console.timeEnd("time");
在我的 Chrome 中,使用 [...Array(50000000).keys()];
创建和拆分数组需要 1.5 秒,但在那之后你有计时器启动 (你有。在你改变问题之前。)。我在 Firefox 中得到相同(稍微高一点)的结果。可以吗?
假设在浏览器开始执行之前也有延迟 JavaScript。
console.time("time");
var list = [...Array(50000000).keys()];
console.timeEnd("time");
console.time("time2");
var x = 0;
for (let i = 0, n= list.length; i<n ;i++) {
x++;
}
console.timeEnd("time2");
我正在使用 Chrome 和基于 Chromium 的 Edge 中的 console.time();
方法测试 JavaScript 的速度片段。当我在浏览器中 运行 代码片段时,至少需要 2 秒,但 time
的显示结果在毫秒左右,这是怎么回事?
var list = [...Array(50000000).keys()];
console.time("time");
var x = 0;
for (let i = 0, n= list.length; i<n ;i++) {
x++;
}
console.timeEnd("time");
我用 performance.now()
对此进行了测试,我得到了与 time
相同的结果,这确实令人困惑,但它在 Firefox 中工作得很好。
这是 Chrome/Edge 错误吗?如果是,如何为 chrome 提交问题?
更新
感谢@vlaz 和@Jax-p 我发现我错过了数组 generation time
:
console.time("time");
var list = [...Array(50000000).keys()];
var x = 0;
for (let i = 0, n= list.length; i<n ;i++) {
x++;
}
console.timeEnd("time");
在我的 Chrome 中,使用 [...Array(50000000).keys()];
创建和拆分数组需要 1.5 秒,但在那之后你有计时器启动 (你有。在你改变问题之前。)。我在 Firefox 中得到相同(稍微高一点)的结果。可以吗?
假设在浏览器开始执行之前也有延迟 JavaScript。
console.time("time");
var list = [...Array(50000000).keys()];
console.timeEnd("time");
console.time("time2");
var x = 0;
for (let i = 0, n= list.length; i<n ;i++) {
x++;
}
console.timeEnd("time2");