RFR: 7264: Improve the performance of the JFR parser
Jean-Philippe Bempel
jpbempel at openjdk.java.net
Mon Jun 14 08:15:15 UTC 2021
When parsing a JFR file, StackFrames are the objects that are the most
deserialized using Readers.
By default, JMC core parser used a generic ReflectiveReaders
which use reflection to parser the structure. However, we have known
objects like stack frames where we could directly map to the typed
object instead on relying on reflection, which speed up significantly
the parsing.
Here the results for c5.xlarge instance single threaded parsing with 24MB jfr recording with 100 iterations:
| runs | baseline | specific readers optim | improvement |
| --- | --- | --- | --- |
| run 1 | 54,317ms | 39,623ms | -27% |
| run 2 | 54,988ms | 39,520ms | -28% |
| run 3 | 54,209ms | 39,904ms | -26% |
-------------
Commit messages:
- 7264: Improve the performance of the JFR parser
Changes: https://git.openjdk.java.net/jmc/pull/266/files
Webrev: https://webrevs.openjdk.java.net/?repo=jmc&pr=266&range=00
Issue: https://bugs.openjdk.java.net/browse/JMC-7264
Stats: 72 lines in 2 files changed: 71 ins; 0 del; 1 mod
Patch: https://git.openjdk.java.net/jmc/pull/266.diff
Fetch: git fetch https://git.openjdk.java.net/jmc pull/266/head:pull/266
PR: https://git.openjdk.java.net/jmc/pull/266
More information about the jmc-dev
mailing list