【发布时间】:2011-07-18 15:08:24
【问题描述】:
我正在使用测试脚本来测量测试页面的往返时间。 我不需要测量的时间准确,我只希望趋势稳定,这样我就可以看到在高(er)负载下加载时间的增加。
为此,我使用 2 种方法(在 javascript 中)来测量加载时间。
1:
var start_time = (new Date).getTime();
//load the resource
var end_time = (new Date).getTime() - start_time;
2:
var time_passed = 0;
var timer = setInterval("time_passed += 10;", 10);
//load the resource
clearInterval(timer);
我读到第一种方法的分辨率在大多数浏览器中都很低, 唯一给出“好”结果的浏览器是 chrome
第二种方法在浏览器中非常稳定,并且给出了恒定的结果。
正如预期的那样,所测量的时间对于日期差异非常不规则,而对于间隔计时器来说非常稳定。 然而,我的问题是我删除了日期差异计时器,因为它无法使用,一旦我删除它,间隔测量变得非常不稳定。测量的时间峰值低于和高于趋势。
任何人都可以解释为什么删除日期差异后间隔不稳定。
和/或可能如何改进时间安排。
【问题讨论】:
-
为什么方法1分辨率低?它似乎更精确。
-
@pimvdb 创建 jQuery 库的人在他的博客中解释了它:) ejohn.org/blog/accuracy-of-javascript-time
标签: javascript timer intervals roundtrip