sti*_*ure 18 javascript node.js
我面前有一小段node.js代码,如下所示:
console.time("queryTime");
doAsyncIOBoundThing(function(err, results) {
console.timeEnd("queryTime");
// Process the results...
});
Run Code Online (Sandbox Code Playgroud)
当然,当我在我的(否则是空闲的)开发系统上运行它时,我得到一个很好的控制台消息,如下所示:
queryTime: 564ms
Run Code Online (Sandbox Code Playgroud)
但是,如果我将它投入生产,那么同时进行的同步调用是否会有多个异步调用,并且每个调用都会覆盖以前的定时器?或节点是否具有某种神奇的执行上下文,为每个"执行线程"提供一个单独的控制台计时器命名空间?
Zet*_*eta 31
只需使用独特的标签即可.这就是您使用标签来唯一标识开始时间的原因.
只要您不小心使用标签两次,一切都将完全按预期工作.还要注意,node通常只有一个执行线程.
考虑新的 NodeJS 特性,因为它也在发展。请查看:
process.hrtime() & NodeJS 的其他性能 API 钩子:
https://nodejs.org/api/perf_hooks.html#perf_hooks_performance_timing_api
这个简单的代码不会起作用吗?
var labelWithTime = "label " + Date.now();
console.time(labelWithTime);
// Do something
console.timeEnd(labelWithTime);
Run Code Online (Sandbox Code Playgroud)