From fda2373d81929dda9d0206d30cf4e3c1710859f1 Mon Sep 17 00:00:00 2001 From: brian cully Date: Mon, 29 Dec 2025 12:36:31 -0500 Subject: pure benching --- site/pure.mjs | 18 ++++++++++++++++++ src/lib.rs | 1 + 2 files changed, 19 insertions(+) diff --git a/site/pure.mjs b/site/pure.mjs index e43380c..03b5996 100644 --- a/site/pure.mjs +++ b/site/pure.mjs @@ -259,6 +259,24 @@ export default async function () { } }; + const benchButton = document.querySelector('section.bench button'); + benchButton.onclick = e => { + console.debug('bench clicked'); + + const iters = Number(document.querySelector('section.bench input').value); + + const start = self.performance.now(); + for (let i = 0; i < iters; i++) { + update(points); + } + const end = self.performance.now(); + const delta = end - start; + const iters_per_ms = iters / delta; + + const results = document.querySelector('section.bench .results'); + results.textContent = `${iters} iters in ${delta.toFixed(2)} ms (${iters_per_ms.toFixed(2)} iters per ms)`; + } + let interCount = 1; function render(t) { update(points); diff --git a/src/lib.rs b/src/lib.rs index 3644638..dfbeaae 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -108,6 +108,7 @@ pub fn init() -> JSResult<()> { let bench_handler: HandlerClosure = Closure::new(move |e| { debug!("bench clicked {:?}", e); + let iters = iters()? .value() .parse::() -- cgit v1.3