我有一个如下所示的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()方法中第一个通道的执行时间,并根据该第一个完成时间来估计其余的循环。不确定是否为此正确设置,或者我应该从这里哪里
答案 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");
});