Add benchmarking to continuous integration
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.
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?
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. ;)
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)