console.time 是轻量级耗时测量工具,需成对使用 console.time() 和 console.timeend() 并传入相同标签名,支持多计时器并行、标签区分大小写,重复调用同标签会重置计时,node.js v8.3.0+ 原生支持。

console.time 是浏览器和 Node.js 中最轻量、最直接的耗时测量工具,适合快速验证某段代码的执行时间,无需引入复杂分析器。
基本用法:成对调用 start 和 end
必须配合 console.time() 和 console.timeEnd() 使用,两者传入相同的标签名(label),否则无法匹配计时:
- console.time('fetchData'); —— 启动名为 "fetchData" 的计时器
- console.timeEnd('fetchData'); —— 输出该计时器的耗时(如:fetchData: 124.345ms)
标签名区分大小写,且不支持中文或空格开头(建议用英文+下划线/驼峰)。
多个计时器可并行运行
不同标签名的计时器互不干扰,适合对比多路径或分阶段耗时:
- console.time('parse');
- console.time('render');
- JSON.parse(largeString);
- console.timeEnd('parse');
- renderToDOM(data);
- console.timeEnd('render');
输出会分别显示 parse 和 render 的耗时,便于定位瓶颈环节。
注意作用域与重复标签的覆盖行为
同一标签多次调用 console.time() 会重置计时器(不是报错或忽略):
- 第一次 console.time('loop') → 开始计时
- 中间又调用一次 console.time('loop') → 计时归零重新开始
- 最后 console.timeEnd('loop') → 输出第二次启动后的耗时
因此,避免在循环体中无意识重复调用 console.time(),否则结果不可信。如需测单次循环体,应把 time/timeEnd 放在循环内部;如需测整体,只在外层调用一次。
Node.js 环境兼容性说明
Node.js 从 v8.3.0 起原生支持 console.time 和 console.timeEnd,行为与浏览器一致。但低版本(如 v6.x)不支持,可降级使用 process.hrtime() 手动计算:
- const start = process.hrtime();
- // 执行代码
- const diff = process.hrtime(start);
- console.log(`耗时: ${diff[0] * 1000 + diff[1] / 1000000}ms`);
不过现代项目基本无需兼容旧 Node 版本,优先用 console.time 更简洁。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











