diff options
| author | brian cully <bjc@spork.org> | 2025-12-29 12:36:31 -0500 |
|---|---|---|
| committer | brian cully <bjc@spork.org> | 2025-12-29 12:36:31 -0500 |
| commit | fda2373d81929dda9d0206d30cf4e3c1710859f1 (patch) | |
| tree | 8df98419c07eb5d575c0580996d47f3a5d894dda | |
| parent | d4cb9d1f99ee2515b56bca0bb4ed3011b5d39d84 (diff) | |
| download | polyring-fda2373d81929dda9d0206d30cf4e3c1710859f1.tar.gz polyring-fda2373d81929dda9d0206d30cf4e3c1710859f1.zip | |
pure benching
| -rw-r--r-- | site/pure.mjs | 18 | ||||
| -rw-r--r-- | src/lib.rs | 1 |
2 files changed, 19 insertions, 0 deletions
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); @@ -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::<u32>() |
