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

Richard Startin github.com+16439049+richardstartin at openjdk.java.net
Fri Jul 9 08:40:56 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

While this is clearly beneficial to distributed tracing use cases of user defined JFR events, the gain isn't worth the bother of demonstrating conclusively that this does not regress elsewhere.

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

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


More information about the hotspot-jfr-dev mailing list