时间戳与调度指南

耗时测量:单调时钟与墙上时钟

进程内耗时使用单调时钟,跨系统事件记录使用墙上时间戳。

Nav Tools ·

分开时钟用途

Date.now 读取民用时间,可能因同步或用户调整而改变,两次相减可能得到错误耗时。

单调时钟设计上独立于这些墙上时间调整并向前推进。

const start = performance.now();
// await the operation
const elapsedMs = performance.now() - start;

不能比较无关的单调读数

单调读数相对于时间原点,不同进程或浏览器上下文未必共享原点。

交换事件应记录明确 UTC 时间戳及必要的时钟误差,不能把 performance.now 当 Unix 时间发送。

检查运行环境细节

高精度计时器可能因隐私降低精度,休眠行为也有平台差异,单调不等于无限精确。

耗时跨设备休眠时,应查环境时钟文档并测试恢复行为。

日期工具用于已记录时间戳

日期差值比较提供的民用时间,无法还原进程测量期间时钟是否跳变。

同时需要延迟分析和审计时,应独立保存测得耗时与开始结束墙上时间戳。

参考资料

← 时间戳与调度指南