测试javascript脚本程序执行所消耗的时间
1. console.time 和 console.timeEnd
console.timeEnd 方法用于停止指定的计时器并记录自启动以来经过的时间(以毫秒为单位)。这个方法通常用于测试程序执行的时长。使用方法如下:
1、启动计时器:使用 console.time(label) 方法启动计时器,其中 label 是一个字符串,用于标识计时器。例如:
console.time('test time');
2、停止计时器并记录时间:使用 console.timeEnd(label) 方法停止计时器并记录时间。label 必须与启动计时器时使用的标签相同。例如:
console.timeEnd('test time');
3、最终输出从console.time('test time');到 console.timeEnd('test time');之间经过的时间(以毫秒为单位),demo如下:
// 设置迭代次数
const iterations = 10000000;
// 测试字符串转数字的性能
console.time('String to Number Conversion');
for (let i = 0; i < iterations; i++) {
const str = '123';
const num = Number(str);
}
console.timeEnd('String to Number Conversion');
// 最终输出内容是:String to Number Conversion: 9.322021484375 ms
2.window.performance.now()
window.performance.now() 是是浏览器(Web API)提供的方法,表示从页面开始加载起,到调用该方法时的时间,精度达微秒级别。(1毫秒=1000微秒)
// 设置迭代次数
const iterations = 10000000;
// 测试字符串转数字的性能
let now1 = window.performance.now();
for (let i = 0; i < iterations; i++) {
const str = ‘123’;
const num = Number(str);
}
let now2 = window.performance.now();
console.log(now2 - now1); // 7.5999999940395355
3. Date.now()
Date.now()是返回从1970年1月1日至今所过的毫秒数。
方法:声明变量now1 为现在的时间戳,执行一段代码,声明变量now2取现在的时间戳,now2-now1为这段代码执行的时间,单位为毫秒。精度不够高,不建议使用。
// 设置迭代次数
const iterations = 10000000;
// 测试字符串转数字的性能
let now1 = Date.now();
for (let i = 0; i < iterations; i++) {
const str = '123';
const num = Number(str);
}
let now2 = Date.now();
console.log(now2 - now1);
// 最终输出:9
更多推荐

所有评论(0)