RFR: 8267943: Improve performance of EventWriter by improving varint encoding implementation [v2]

Richard Startin github.com+16439049+richardstartin at openjdk.java.net
Fri Jun 4 13:28:58 UTC 2021


On Fri, 4 Jun 2021 11:56:16 GMT, Richard Startin <github.com+16439049+richardstartin at openjdk.org> wrote:

>> This PR improves the performance of committing events with numeric correlation ids by precomputing the number of continuation bytes required by each varint and storing them in a lookup table addressable by the input `long`'s leading zero count. In some rough [benchmarks](https://github.com/richardstartin/jfr-events/blob/master/src/main/java/io/github/richardstartin/jfrevents/CommitEventBenchmark.java), this shows a negligible regression for committing empty events, but a 15% improvement for committing an event with two random 64 bit identifiers.
>
> Richard Startin has updated the pull request incrementally with one additional commit since the last revision:
> 
>   shortcuts for small values

After the second commit this no longer regresses on committing empty events and is still faster on those with random identifiers. 

Are there any performance regression tests I can use to demonstrate this doesn't regress on typical use cases?

-------------

PR: https://git.openjdk.java.net/jdk/pull/4251


More information about the hotspot-jfr-dev mailing list