RFR: 7950: Better DisjointBuilder performance for events not ordered by event end attribute

Richard Startin duke at openjdk.org
Wed Nov 9 10:39:32 UTC 2022


On Wed, 9 Nov 2022 09:51:49 GMT, Erik Gahlin <egahlin at openjdk.org> wrote:

> When I wrote the original code in 2010 collisions were rare. I think I saw a few cases of 2-3 lanes (for the same event type and thread), typically when doing recursive events. I wonder what has changed, if this is no longer a case? The JVM usually doesn't write overlapping events. Is it thread buffers coming out of order?

In our use case this method gets very hot sporadically throughout the day and it depends on the recordings. This tends to show up with custom JFR events which can be committed in any order, but I believe @Gunde has some pathological profiles with only built in events. Having spoken to @Gunde internally, the worst case behaviour behaviour of this method is a "known issue" but we're also aware that the one-lane optimisation is very effective for the majority of JFR profiles, so it's important not to regress on common cases.

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

PR: https://git.openjdk.org/jmc/pull/449


More information about the jmc-dev mailing list