forEach()方法的估计完成时间

时间:2018-08-20 16:08:32

标签: javascript time

我有一个如下所示的forEach()方法:

channels.forEach((channel) => {
   var start = new Date().getTime();

   fields.forEach(function(field) {
      //stuff done here
   });

   var end = new Date().getTime();
   var time = (end - start);
   console.log(time)
});

我想使用forEach()方法中第一个通道的执行时间,并根据该第一个完成时间来估计其余的循环。不确定是否为此正确设置,或者我应该从这里哪里

2 个答案:

答案 0 :(得分:1)

从根本上讲是正确的,但是您要打印每个通道的经过时间,而不是一次,除非以后要取消测试。我建议您衡量在所有渠道上运行所花费的时间,并计算所有渠道的平均时间,因为缺少更好的字眼,此值将更加一致/科学。

此外,常规的Date()。getTime()函数的精度仅为1毫秒。您可以使用更精确的纳秒计时器切换到库。

答案 1 :(得分:0)

使用console.time()console.timeEnd()进行尝试,如下所示:

channels.forEach((channel) => {
    console.time("time taken");

    fields.forEach(function(field) {
       //stuff done here
    });

    console.timeEnd("time taken");
 });