0

我正在对 Web 应用程序进行一些性能分析,我希望能够查看执行部分代码需要多长时间。

我通过将日期对象打印到控制台来做到这一点。

我似乎无法让日期对象更精确地打印其时间而不是精确到秒。这是可能的,而不是自 1970 年以来得到 ms 并自己计算它?

4

3 回答 3

2

使用Date.now().

var start = Date.now();

这为您提供以毫秒为单位的时间。

如果您正在测试较旧的实现,则可以填充它。

if (!Date.now)
    Date.now = function() {
        return +(new Date());
    };
于 2012-11-23T22:29:56.827 回答
1

提供ms分辨率的toISOString()方法:Date

var d = new Date();
d.toISOString();

回报:

'2012-11-23T22:31:51.321Z'

但是对于代码的计时部分,您最好使用console.timeand console.timeEnd

于 2012-11-23T22:38:25.200 回答
0

如果您正在分析您的 javascript 代码,那么为什么不使用内置于现代浏览器中的开发人员工具呢?

Chrome 有它的开发者工具(按 F-12)

https://developers.google.com/chrome-developer-tools/docs/profiles

Profiles 面板可让您分析 Web 应用程序或页面的执行时间和内存使用情况。Profiles 面板包括两个分析器:一个 CPU 分析器和一个堆分析器。这些可以帮助您了解资源的使用情况,从而帮助您优化代码:

  • CPU 分析器显示页面的 JavaScript 函数的执行时间。
  • 堆分析器按页面的 JavaScript 对象和相关 DOM 节点显示内存分布。

其他浏览器有类似的工具供您使用,不需要额外的代码。

于 2012-11-23T22:41:35.013 回答