[英]Is console.time() safe in node.js?
我面前有一小段node.js代碼,如下所示:
console.time("queryTime");
doAsyncIOBoundThing(function(err, results) {
console.timeEnd("queryTime");
// Process the results...
});
當然,當我在我的(否則是空閑的)開發系統上運行它時,我得到一個很好的控制台消息,如下所示:
queryTime: 564ms
但是,如果我把它投入生產,那么同時進行的異步調用是否會有多次,並且每個異步調用都會覆蓋以前的計時器? 或節點是否具有某種神奇的執行上下文,為每個“執行線程”提供一個單獨的控制台計時器命名空間?
只需使用獨特的標簽即可。 這就是您使用標簽來唯一標識開始時間的原因。
只要您不小心使用標簽兩次,一切都將完全按預期工作。 另請注意, node
通常只有一個執行線程。
這個簡單的代碼不會起作用嗎?
var labelWithTime = "label " + Date.now();
console.time(labelWithTime);
// Do something
console.timeEnd(labelWithTime);
考慮新的NodeJS功能,因為它已經發展。 請看看:
process.hrtime()
和NodeJS的其他性能API掛鈎:
https://nodejs.org/api/perf_hooks.html#perf_hooks_performance_timing_api
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.