Benchmark improvments #486
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.
I'm trying to resolve #398 as I strongly agree with this comment.
In the process of coming up with benchmark numbers I noticed a few shortcomings of the benchmark crate, notably:
PthreadRwLockimplementation was calling the wrong function for acquiring the read lockRwLockfrom stdlib for comparisonThe rest of changes are some minor polishments and linting fixes.
I'm also planning to add an opinionated benchmark suite runner for making the benchmark numbers more accessible, reproducible, and provable.
I noticed from your comment that you're interested in how people benchmark this crate. Since I'm not an expert in lock implementations, I wanted to use this PR as a chance to ask for your input: what scenarios do you consider important and meaningful for benchmarking, and which ones do you think should be included in the suite to fairly represent this crate?