diff options
author | Matt Mastracci <matthew@mastracci.com> | 2023-03-22 12:06:29 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-22 18:06:29 +0000 |
commit | 03e236b6149c88ceba5ce53dde22f731c7cfd0ca (patch) | |
tree | cdf7adf01c84c1e37b69f761f423ffdb7bb97657 | |
parent | 79fb3b1f352da85340a0f68ce90a64843393ed42 (diff) |
chore(cli): measure performance against wall-clock (#18357)
Fixes test flake by requiring perf to be <150% of wall-clock time rather
than <500ms.
-rw-r--r-- | cli/tests/unit/performance_test.ts | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/cli/tests/unit/performance_test.ts b/cli/tests/unit/performance_test.ts index 3211bb415..accedd2e4 100644 --- a/cli/tests/unit/performance_test.ts +++ b/cli/tests/unit/performance_test.ts @@ -81,9 +81,12 @@ Deno.test(function performanceMeasure() { const measureName1 = "measure1"; const measureName2 = "measure2"; const mark1 = performance.mark(markName1); + // Measure against the inaccurate-but-known-good wall clock + const now = new Date().valueOf(); return new Promise((resolve, reject) => { setTimeout(() => { try { + const later = new Date().valueOf(); const measure1 = performance.measure(measureName1, markName1); const measure2 = performance.measure( measureName2, @@ -103,8 +106,10 @@ Deno.test(function performanceMeasure() { `duration below 100ms: ${measure1.duration}`, ); assert( - measure1.duration < 500, - `duration exceeds 500ms: ${measure1.duration}`, + measure1.duration < (later - now) * 1.50, + `duration exceeds 150% of wallclock time: ${measure1.duration}ms vs ${ + later - now + }ms`, ); const entries = performance.getEntries(); assert(entries[entries.length - 1] === measure2); |