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

更多推荐