LokiDB icon indicating copy to clipboard operation
LokiDB copied to clipboard

Add benchmarking to continuous integration

Open Viatorus opened this issue 7 years ago • 3 comments

I'm submitting a...


[ ] Regression (a behavior that used to work and stopped working in a new release)
[ ] Bug report  
[x] Feature request
[ ] Documentation issue or request
[ ] Support request => Please do not submit support request here, instead see https://github.com/LokiJS-Forge/LokiDB/blob/master/CONTRIBUTING.md#question

Current behavior

No benchmarking exists.

Expected behavior

Add benchmarking to CI to compare newer and older implementation performance.

What is the motivation/use case for changing the behavior?

Verify that there are no big performance losses.

Environment

Benchmarks for NodeJS and some Browsers.

Viatorus avatar Mar 24 '18 16:03 Viatorus

Not sure the vm/sandbox which travis will use an provide reliable/consistent benchmarks? If run at 2am maybe but not the same as during peak?

obeliskos avatar Mar 24 '18 18:03 obeliskos

The idea is to generate benchmarks for the previous and current implementation at one PR. Not the cycles/seconds are interesting but the percentage difference.

I never tried it out but maybe it works. ;)

Viatorus avatar Mar 25 '18 06:03 Viatorus

Oh, I suppose if you have both old and new paths available at the same time, you might supersample, toggling back and forth 'n' number of times to accomodate fluctuations in cpu activity so that both are being tested along the same peaks and valleys of (shared) cpu activity... better for really fast ops that you can repeat many times (1000+ or so samples, interlacing old and new perf tests)

obeliskos avatar Mar 25 '18 10:03 obeliskos