Benchmark: use a histogram to store batch timings #1388
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Previously, we required as much memory as transfers to store the timing of each one - to log out the deciles at the end. Switch this to using a histogram, with an upper limit of 10000ms. Now the benchmark uses a fixed amount of memory regardless of how many transfers we do.
If a percentile takes longer than 10000ms, we print a warning with it. There are more advanced ways to do this, but this shouldn't be a problem for now.
(This was causing annoyances when running larger scale tests.)
Also adds a missing deinit(), removes transfer timings (no one was looking at them 馃憖) and adds p95 and p99.