Improve throughput benchmarks
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 939
- Forks
- 180
- PR merge metrics
- No merged PRs in 30d
Description
1) Use [JMH](http://openjdk.java.net/projects/code-tools/jmh/)
2) Create less garbage; don't invoke expensive `Integer.toString()` in the tight loop.
Simple profiling shows that significant portion of benchmark time is spent in `Integer.toString()`; hence benchmarks results are "shifted" and could make wrong impression on the actual performance difference between the benchmarked stores. Creating garbage makes garbage collection to kick in unpredictably during benchmarking, that makes results less representative as well.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Locate the existing throughput benchmark entry points in the repository and run them to establish the current behavior. Read the JMH documentation, then update the benchmarks to use JMH and avoid Integer.toString() and other garbage creation in the tight loop; done means results better represent the stores’ actual performance differences.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- performance
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100