summaryrefslogtreecommitdiff
path: root/alarm/node_modules/w3c-hr-time/lib/clock-is-accurate.js
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2023-01-10 14:54:04 +0100
committerMinteck <contact@minteck.org>2023-01-10 14:54:04 +0100
commit99c1d9af689e5325f3cf535c4007b3aeb8325229 (patch)
treee663b3c2ebdbd67c818ac0c5147f0ce1d2463cda /alarm/node_modules/w3c-hr-time/lib/clock-is-accurate.js
parent9871b03912fc28ad38b4037ebf26a78aa937baba (diff)
downloadpluralconnect-99c1d9af689e5325f3cf535c4007b3aeb8325229.tar.gz
pluralconnect-99c1d9af689e5325f3cf535c4007b3aeb8325229.tar.bz2
pluralconnect-99c1d9af689e5325f3cf535c4007b3aeb8325229.zip
Update - This is an automated commit
Diffstat (limited to 'alarm/node_modules/w3c-hr-time/lib/clock-is-accurate.js')
-rw-r--r--alarm/node_modules/w3c-hr-time/lib/clock-is-accurate.js61
1 files changed, 0 insertions, 61 deletions
diff --git a/alarm/node_modules/w3c-hr-time/lib/clock-is-accurate.js b/alarm/node_modules/w3c-hr-time/lib/clock-is-accurate.js
deleted file mode 100644
index 920b499..0000000
--- a/alarm/node_modules/w3c-hr-time/lib/clock-is-accurate.js
+++ /dev/null
@@ -1,61 +0,0 @@
-"use strict";
-
-const { hrtime } = require("./utils");
-
-// The HR-TIME spec calls for 5-μs accuracy. Check that we have that in both hrtime() and Date.now().
-
-function testClockAccuracy() {
- // Test hrtime() first. The check is simpler and more stable, and we use hrtime() to measure Date.now()'s performance.
- const roundTrip = hrtime(hrtime());
- if (roundTrip[0] > 1 || roundTrip[1] > 5e3 * 2) {
- return false;
- }
-
- // Test Date.now() twice: first with a looser bound (10 μs) but with a smaller run time to filter out very bad
- // Date.now() performance, and then with a tighter bound (5 μs) to check we have the accuracy we need.
- let times;
- // eslint-disable-next-line no-unused-vars
- let cur;
- let start;
- let end;
-
- times = 100;
- start = hrtime();
- while (times-- > 0) {
- cur = Date.now();
- }
- end = hrtime(start);
- if ((end[0] * 1e9 + end[1]) > 1000000) {
- return false;
- }
-
- times = 10000;
- start = hrtime();
- while (times-- > 0) {
- cur = Date.now();
- }
- end = hrtime(start);
- if ((end[0] * 1e9 + end[1]) > 50000000) {
- return false;
- }
-
- return true;
-}
-
-// Warm up the function.
-testClockAccuracy();
-testClockAccuracy();
-testClockAccuracy();
-
-const TIMES = 5;
-const THRESHOLD = 0.6 * TIMES;
-let accurates = 0;
-for (let i = 0; i < TIMES; i++) {
- if (testClockAccuracy()) {
- accurates++;
- }
-}
-
-const isAccurate = accurates >= THRESHOLD;
-
-module.exports = isAccurate;