Javascript 我们可以打印/存储console.time()-console.timeEnd()的值吗?

Javascript 我们可以打印/存储console.time()-console.timeEnd()的值吗?,javascript,node.js,Javascript,Node.js,我想知道我们是否可以获得console.time()打印的值,并将其存储在变量中,或者写入日志文件或其他内容。基本上,除了在控制台上打印外,我们是否可以将执行时间用于其他目的?您可以使用Date.now()来检索当前时间 >Date.now() >> 1552371509583 为了测量执行时间,有一个性能对象。在它最简单的使用中,您可以这样做 但是还有更多用于测量间隔的功能,比如在浏览器的性能输入缓冲区中使用给定名称创建时间戳,然后测量两个标记之间的延迟,并使用新名称存储结果等等 在node

我想知道我们是否可以获得
console.time()
打印的值,并将其存储在变量中,或者写入日志文件或其他内容。基本上,除了在控制台上打印外,我们是否可以将执行时间用于其他目的?

您可以使用
Date.now()
来检索当前时间

>Date.now()
>> 1552371509583

为了测量执行时间,有一个
性能对象。在它最简单的使用中,您可以这样做

但是还有更多用于测量间隔的功能,比如在浏览器的性能输入缓冲区中使用给定名称创建时间戳,然后测量两个标记之间的延迟,并使用新名称存储结果等等

在nodejs中有,它返回一个表示纳秒的bigint。对于较旧的nodejs版本,可以使用它返回数组中的两个整数:[秒,纳秒]


它基于后者并模仿
performance.now()
行为。

我刚刚使用了
performance.now()
,它可以工作。它与上面提到的@Icehorn提到的
Date.now()
方法有多大不同?它给出了不同的输出(一个浮点,表示毫秒数,精度更高,有时高达微秒)并且在有人更改电脑时钟时不会受到影响。performance.now()、“performance now”模块或Date.now()方法中可能存在更好的重复项?
performance.now()
需要更多的时间来执行,并且
Date.now()
给了我一个四舍五入的值。似乎最适合我的用例。我想我回答了我自己的问题@RohitMishra,performance now模块使用nodejs的
process.hrtime
。在nodejs 10.7或更高版本上,您需要使用
process.hrtime.bigint()!我试过了,效果很好。如果我
要求(“立即执行”)process.hrtime.bigint()
相比,它是否增加了开销@trincot@RohitMishra,它似乎在使用
process.hrtime()
,而不是
process.hrtime.bigint()
,这意味着它将返回的两个值合并,除以1000000,得到微秒。这就是小开销的意义所在。但是现在有了
process.hrtime.bigint()
,我看不出使用该模块有什么好处。