1.1.0 • Published 2 years ago

@feltmaps/benchmarking v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Felt benchmarking

This package allows to benchmark javascript code on the browser.

How it works

Runs Benchmark implementations and measures the time it takes to execute a single run. If that run takes less than 5ms (which is the minimum resolution of performance.now(), see Performance.now() on MDN), we keep incrementing the number of iterations iterationsPerSample per run until it takes more than 5ms. Once that happens, we capture 210 samples via running iterationsPerSample iterations per sample

Create a benchmark

export default class FilterCreate extends Benchmark {
  bench() {
    findPrimes(1000);
  }
}

Create a benchmark suite

const suite = new BenchmarkingSuite();

Add benchmarks to the suite

suite.register("Filter", "version 1", new FilterCreate());

Adding multiple benchmarks with the same name but different version will compare them in the results website

suite.register("Filter", "version 1", new FilterCreate());
suite.register("Filter", "version 2", new FilterCreate2());

Run the suite

suite.run();

See index.html and benchmarks.ts for website and js code examples

Results

Results show a statistics table, a plot with various statistics (quartiles, median, mean, trimmed mean) and a regression plot.

The correlation in the table should be almost 1, if it's less than 0.99 a ⚠️ sign is shown. If correlation is less than 0.9 a ☠ sign is shown because results are not valid.

alt text

Based on Maplibre's benchmarking tool

1.1.0

2 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago