aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--site/pure.mjs18
-rw-r--r--src/lib.rs1
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);
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::<u32>()