Performance tests: adaptive stats, thresholds, perf flags, duration fix (#6) #20
Loading…
Reference in a new issue
No description provided.
Delete branch "wip/issue-06"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Per #6.
testrunnerview.tsxsummed ms but rendereds).assert.medianRuntimeLessThannow uses a Criterion-style adaptive stopping rule (relative-error/CI target, min/max runs, time budget) and reports a CI; legacy call shape preserved.perfthreshold registry (perf.setThreshold(name, ms),perf.defaultThreshold) so budgets live in one place (per-file scope, documented).--js-flags=--expose-gc --enable-precise-memory-infoautomatically.Verification
Closes #6
Replace the fixed numRuns=29 median with an adaptive measurement: keep sampling until the median's confidence interval is tight enough (halfWidth/|median| <= targetRelError), bounded by minRuns/maxRuns and a wallclock budget. Report the estimate and its error (e.g. 95% CI) as test-info so results are interpretable. Add a small, documented thresholds API (perf.setThreshold / named budgets / defaultThreshold) usable as assert.medianRuntimeLessThan('name', ...), plus an options overload. The legacy call shape still works. Stats helpers (mean/stddev/inverse-normal/median CI) live in shared/utils (browser-safe). Document both in the README and cover with tests.@ -383,0 +429,4 @@});```#### Named thresholdsThis is overly prescriptive, I think we can drop this feature. If users want this, they can easily write a wrapper function around
assert.medianRuntimeLessThanView command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.