📅  最后修改于: 2023-12-03 15:03:13.942000             🧑  作者: Mango
Node.js 中的 process.hrtime()
方法返回当前时间相对于进程开始时间的高精度的时间差。它返回一个包含两个元素的数组,表示以纳秒为单位的时间差。
该方法主要用于测试和性能评估的目的。
const [seconds, nanoseconds] = process.hrtime([time]);
process.hrtime()
接受一个可选的参数 time
。当 time
参数存在时,它应该是一个包含两个元素 [seconds, nanoseconds]
的数组,表示起始时间。如果不提供该参数,则假定起始时间是当前进程启动的时间。
返回值是一个包含两个元素的数组 [seconds, nanoseconds]
,表示当前时间相对于起始时间的时间差。
const NS_PER_SEC = 1e9;
const time1 = process.hrtime();
// 执行一些任务
const time2 = process.hrtime(time1);
console.log(`耗时: ${time2[0]}s ${time2[1]}ns`);
console.log(`耗时: ${(time2[0] * NS_PER_SEC + time2[1]) / NS_PER_SEC}s`);
输出:
耗时: 0s 232163ns
耗时: 0.000232163s
在上面的例子中,我们在 process.hrtime()
中传入了一个起始时间参数 time1
,并执行了一些任务。然后我们计算了执行任务的时间差 time2
,并将其以秒和纳秒的形式输出。
process.hrtime()
的精度是纳秒级别的。process.hrtime()
的返回值。