【问题标题】:Calculate function execution time [duplicate]计算函数执行时间
【发布时间】:2021-07-15 08:23:01
【问题描述】:

假设我调用了一个函数,

const data = await someFunction()

我想计算这个函数的执行时间。

为此我尝试过,

let startTime = Date.now();
const data = await someFunction()
let endTime = Date.now();

我计算了 endTime-startTime 和我得到的结果之间的差异,我认为是以毫秒为单位并将其转换为秒。

我想对此提出第二意见,无论这是计算选项之一,还是有更好的方法可以让我在秒内获得执行时间。

【问题讨论】:

标签: javascript node.js


【解决方案1】:

是的,还有一些更有趣的方法:

  1. 更准确的节点测试方法是使用:

    const start = process.hrtime()
    // awaited function
    const result = process.hrtime(start);
    
    // This will give results in nanoseconds
    
  2. 另一种有趣的方式是使用performance hooks

    const { PerformanceObserver, performance } = require('perf_hooks');
    
    const obs = new PerformanceObserver((items) => {
      console.log(items.getEntries()[0].duration);
      performance.clearMarks();
    });
    
    obs.observe({ entryTypes: ['measure'] });
    
    performance.mark('A');
    // await your function
    performance.mark('B');
    performance.measure('A to B', 'A', 'B');
    

【讨论】:

    【解决方案2】:

    你有没有尝试过 console.time() ?

    console.time("Some Function time");
    const data = await someFunction()
    console.timeEnd("Some Function time");
    

    【讨论】:

      猜你喜欢
      • 2015-07-19
      • 2011-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-15
      相关资源
      最近更新 更多