node.js 代码执行时间的实现

基础实现

// 记录开始时间
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');
  });

 

posted @   C羽言  阅读(125)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示