HackerTrans
トップ新着トレンドコメント過去質問紹介求人

evnwashere

no profile record

投稿

Show HN: Mitata – Benchmarking tooling for JavaScript

github.com
93 ポイント·投稿者 evnwashere·2 年前·25 コメント

コメント

evnwashere
·2 年前·議論
That’s why i created mitata, it greatly improves on javascript (micro-)benchmarking tooling

it provides bunch of features to help avoiding jit optimization foot-guns during benchmarking and dips into more advanced stuff like hardware cpu counters to see what’s the end result of jit on cpu
evnwashere
·2 年前·議論
vitest is nice but it’s completely unsuited for micro-benchmarks as it ends up oom crashing after just 2 optimized out benchmarks
evnwashere
·2 年前·議論
i didn’t want it to be complex so it uses simple time budget + at least x amount of samples, both and more can be configured with lower level api.

in practice i haven’t found any js function that gets faster after mitata’s time budget (excluding cpu clock speed increasing because of continuous workload)

another problem is garbage collection can cause long pauses that cause big jumps for some runs, thus causing loop to continue searching for best result longer than necessary
evnwashere
·2 年前·議論
it was hand picked for exactly that :)
evnwashere
·2 年前·議論
yes, you can import mitata inside web worker and run it there, if you only need raw results you can even use lower level api https://github.com/evanwashere/mitata?tab=readme-ov-file#giv...
evnwashere
·2 年前·議論
I have been thinking of reusing/creating something like https://perf.rust-lang.org/ that lets you pick and compare specific hash/commit with all data from json format
evnwashere
·2 年前·議論
It works anywhere where javascript works, so you can easily run it in browser too. Tho idea of making jsbench like website but with mitata accuracy (+ dedicated runners) keeps bugging me.