From 6180c6622c88ca33d0d387a50be9036429281598 Mon Sep 17 00:00:00 2001 From: Mohamed Bassem Date: Sat, 6 Dec 2025 16:07:11 +0000 Subject: chore: add benchmarks (#2229) * chore: add benchmarks * upgrade deps * fixes * lint --- packages/benchmarks/src/utils.ts | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 packages/benchmarks/src/utils.ts (limited to 'packages/benchmarks/src/utils.ts') diff --git a/packages/benchmarks/src/utils.ts b/packages/benchmarks/src/utils.ts new file mode 100644 index 00000000..cfb00723 --- /dev/null +++ b/packages/benchmarks/src/utils.ts @@ -0,0 +1,31 @@ +export function sleep(ms: number): Promise { + return new Promise((resolve) => setTimeout(resolve, ms)); +} + +export async function waitUntil( + fn: () => Promise, + description: string, + timeoutMs = 60000, + intervalMs = 1000, +): Promise { + const start = Date.now(); + while (Date.now() - start < timeoutMs) { + try { + if (await fn()) { + return; + } + } catch { + // Ignore and retry + } + await sleep(intervalMs); + } + throw new Error(`${description} timed out after ${timeoutMs}ms`); +} + +export function formatNumber(num: number, fractionDigits = 2): string { + return num.toFixed(fractionDigits); +} + +export function formatMs(ms: number): string { + return `${formatNumber(ms, ms >= 10 ? 1 : 2)} ms`; +} -- cgit v1.2.3-70-g09d2