使用Date对象计算Javascript执行速度是否正确
Is using the Date object to count the speed of the Javascript execution correct?
使用Date对象计算特定代码的速度是否正确?
var start = +new Date(); //get start time
/*
*
* all the commands here
*
*/
var stop = +new Date(); //get stop time
console.log(stop - start);
或者有没有其他更好的方法来获得结果。我想这种方式会受到你在哪个浏览器上测试的影响,等等。。。
通常是的,如果你正在画画,你也可以用来考虑粗略的绘画时间
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优化(这就是为什么首先要进行JIT优化),因此您应该注意消除死代码。
最好使用控制台计时器:https://developer.mozilla.org/en-US/docs/Web/API/console
console.time("answerswer time");
alert("Click to continue");
console.timeEnd("answerswer time");
是的,有一个更好的方法,检查这个。评测javascript执行的最佳方法是什么?
基本上:
console.profile([title])
...
console.trace()
...
console.profileEnd ()
如果您使用Firefox,这里有一个替代解决方案:您可以使用探查器来了解javascript运行所需的确切时间。
如何使用(快速方式):
1) 点击firefox中的shift-f5打开探查器
2) 开始分析并重新加载您的网页
3) 停止分析,然后加载分析数据
4) 展开小箭头,看起来像:">(total)",它将显示页面加载期间运行的所有脚本,按执行时间(毫秒)排序
5) 找到您的脚本,时间在工具的左侧,并用MS表示。
相关文章:
- 访问布局信息是否也会导致浏览器重排
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- AMD应用程序在浏览器中的加载速度是否快于CommonJS应用程序
- 是否可以加快向DOM添加一组元素的速度
- JQuery在执行速度上是否有任何缺点,这些缺点在大规模的web应用程序中可能会很明显
- 在固定间隔内调用 AJAX 函数是否会减慢应用程序的速度
- 操作“虚构”元素的速度是否比当前在 DOM 中的元素快
- 拥有多个 HTML 页面通常使用的单独 javascript 文件是否会加快页面加载速度
- 在jQuery或Javascript中是否有办法确定触摸移动事件的速度
- 是否可以控制 .attr 的速度
- 模糊的javascript是否会减慢浏览器的速度
- 包含函数的对象文字表示法的执行速度是否比(全局范围)普通函数(取消引用)更快
- 使用Date对象计算Javascript执行速度是否正确
- node.js中的异步编程是否会加快cpu密集型任务的速度?
- 在JavaScript/nodejs中,访问变量和访问变量的属性之间是否存在速度差异?
- 是否有一种方法可以强制非活动选项卡以正常速度运行JavaScript
- javascript和php中字符串和数组的处理速度,以及数组是否可以不加操作地传递给php
- 是否有可能在飞行中准确地确定用户的下载速度?
- 发出多个本地请求是否会减慢 Chrome 扩展程序的速度
- 函数中的参数是否会改变Js中的内存使用或速度使用?