我正在对 Web 应用程序进行一些性能分析,我希望能够查看执行部分代码需要多长时间。
我通过将日期对象打印到控制台来做到这一点。
我似乎无法让日期对象更精确地打印其时间而不是精确到秒。这是可能的,而不是自 1970 年以来得到 ms 并自己计算它?
我正在对 Web 应用程序进行一些性能分析,我希望能够查看执行部分代码需要多长时间。
我通过将日期对象打印到控制台来做到这一点。
我似乎无法让日期对象更精确地打印其时间而不是精确到秒。这是可能的,而不是自 1970 年以来得到 ms 并自己计算它?
使用Date.now()
.
var start = Date.now();
这为您提供以毫秒为单位的时间。
Date.now()
.如果您正在测试较旧的实现,则可以填充它。
if (!Date.now)
Date.now = function() {
return +(new Date());
};
提供ms分辨率的toISOString()
方法:Date
var d = new Date();
d.toISOString();
回报:
'2012-11-23T22:31:51.321Z'
但是对于代码的计时部分,您最好使用console.time
and console.timeEnd
。
如果您正在分析您的 javascript 代码,那么为什么不使用内置于现代浏览器中的开发人员工具呢?
Chrome 有它的开发者工具(按 F-12)
https://developers.google.com/chrome-developer-tools/docs/profiles
Profiles 面板可让您分析 Web 应用程序或页面的执行时间和内存使用情况。Profiles 面板包括两个分析器:一个 CPU 分析器和一个堆分析器。这些可以帮助您了解资源的使用情况,从而帮助您优化代码:
其他浏览器有类似的工具供您使用,不需要额外的代码。