3 <script src=
"/js-test-resources/js-test.js"></script>
6 <p id=
"description"></p>
7 <div id=
"console"></div>
9 description("Verifies the minimum resolution is 5 microseconds.");
11 function testTimeResolution(highResTimeFunc
) {
12 var t0
= highResTimeFunc();
13 var t1
= highResTimeFunc();
15 t1
= highResTimeFunc();
18 var expectedResolutionMilliseconds
= 0.005;
19 var integerMultipleOfResolution
= (t1
- t0
) / expectedResolutionMilliseconds
;
20 shouldBeNearZeroOrOne
= integerMultipleOfResolution
% 1;
21 shouldBe("shouldBeNearZeroOrOne < 1e-10 || Math.abs(shouldBeNearZeroOrOne - 1) < 1e-10", "true");
24 function timeByPerformanceNow() {
25 return performance
.now();
28 function timeByUserTiming() {
29 performance
.mark('timer');
30 var t
= performance
.getEntriesByName('timer')[0].startTime
;
31 performance
.clearMarks('timer');
35 testTimeResolution(timeByPerformanceNow
);
36 testTimeResolution(timeByUserTiming
);