javascript - 如何使用回调测量 JavaScript 代码的执行时间?

标签 javascript node.js profiling

我正在使用 node.js 解释器执行一段 JavaScript 代码。

for(var i = 1; i < LIMIT; i++) {
  var user = {
    id: i,
    name: "MongoUser [" + i + "]"
  };
  db.users.save(user, function(err, saved) {
    if(err || !saved) {
      console.log("Error");
    } else {
      console.log("Saved");
    }
  });
}

如何测量这些数据库插入操作所用的时间?我可以计算这段代码前后日期值的差异,但由于代码的异步性质,这是不正确的。

最佳答案

使用 Node.js console.time()console.timeEnd() :

var i;
console.time("dbsave");

for(i = 1; i < LIMIT; i++){
    db.users.save({id : i, name : "MongoUser [" + i + "]"}, end);
}

end = function(err, saved) {
    console.log(( err || !saved )?"Error":"Saved");
    if(--i === 1){console.timeEnd("dbsave");}
};

关于javascript - 如何使用回调测量 JavaScript 代码的执行时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10617070/

相关文章:

Python cProfile : how to filter out specific calls from the profiling data?

javascript - 在 jQuery 中内联 if else 语句

javascript - 使用 forEach 通过 push 方法创建另一个数组,但循环结束后数组为空

javascript - 无法从客户端将文件数据发送到nodejs服务器

javascript - NPM 递归未满足的对等依赖关系

performance - 我如何确定是什么导致我的局部渲染如此缓慢?

python - Django 分析

javascript - 获取点击进度条部分的宽度并计算秒数

javascript - 将参数传递到 browser.executeScript

node.js - "PERMISSION_DENIED: Missing or insufficient permissions"当使用 google 云任务调用 firestore 函数时