基础实现
// 记录开始时间
var startTime = performance.now();
// 要执行的代码
for (let i = 0; i < 1000; i++) {
console.log("第 " + (i+1) + " 次循环");
}
// 记录结束时间
var endTime = performance.now();
// 计算执行时间
var executionTime = endTime - startTime;
console.log('代码执行时间:', executionTime.toFixed(2), '毫秒');
异步完成后计算结束时间
// 记录开始时间
var startTime = performance.now();
// 串行执行示例
function task1() {
return new Promise(function (resolve, reject) {
setTimeout(function () {
console.log('Task 1 completed');
resolve();
}, 600);
});
}
function task2() {
return new Promise(function (resolve, reject) {
setTimeout(function () {
console.log('Task 2 completed');
resolve();
}, 800);
});
}
task1()
.then(task2)
.then(function () {
console.log('All tasks completed');
// 记录结束时间
var endTime = performance.now();
// 计算执行时间
var executionTime = endTime - startTime;
console.log('代码执行时间:', executionTime.toFixed(2), '毫秒');
});
利用exit
事件,封装成函数
这样只要在代码开头写一个匿名函数并直接执行就可以了,因为是程序退出时才计算结束时间,所以即使是异步也能正确计算代码执行时间
(function () {
// 记录开始时间
var startTime = performance.now();
process.on('exit', function (code) {
console.log('about to exit with code: ' + code);
// 记录结束时间
var endTime = performance.now();
// 计算执行时间
var executionTime = endTime - startTime;
console.log('代码执行时间:', executionTime.toFixed(2), '毫秒');
});
})();
// 串行执行示例
function task1() {
return new Promise(function (resolve, reject) {
setTimeout(function () {
console.log('Task 1 completed');
resolve();
}, 600);
});
}
function task2() {
return new Promise(function (resolve, reject) {
setTimeout(function () {
console.log('Task 2 completed');
resolve();
}, 800);
});
}
task1()
.then(task2)
.then(function () {
console.log('All tasks completed');
});
标签:node,function,resolve,console,log,js,代码执行,var From: https://www.cnblogs.com/yuyanc/p/18113184