RFR: 7903455: JMH: Add "mempool" profiler [v2]
Aleksey Shipilev
shade at openjdk.org
Fri Apr 14 16:09:00 UTC 2023
On Fri, 14 Apr 2023 16:04:37 GMT, Eric Caspole <ecaspole at openjdk.org> wrote:
>> I started off to show only the code cache related size, but I don't see any reason to not print all the available mbean pool info. We often adapt app or library code to run as JMH, to use all its benefits. In those cases seeing the code cache stats is more interesting than say, for a regular JDK API JMH benchmark. I verified the CodeHeap stats match well with +PrintCodeCache. There is mbean pool data for all the GCs as well.
>>
>> Example output:
>>
>> Benchmark (iterations) Mode Cnt Score Error Units
>> SpillCode.testSpillForManyInts 10 avgt 5 705.433 ± 9.570 ns/op
>> SpillCode.testSpillForManyInts:·CodeHeap 'non-nmethods'.used 10 avgt 5 1139.000 kB
>> SpillCode.testSpillForManyInts:·CodeHeap 'non-profiled nmethods'.used 10 avgt 5 209.750 kB
>> SpillCode.testSpillForManyInts:·CodeHeap 'profiled nmethods'.used 10 avgt 5 924.875 kB
>> SpillCode.testSpillForManyInts:·Compressed Class Space.used 10 avgt 5 403.375 kB
>> SpillCode.testSpillForManyInts:·G1 Eden Space.used 10 avgt 5 8192.000 kB
>> SpillCode.testSpillForManyInts:·G1 Old Gen.used 10 avgt 5 8160.000 kB
>> SpillCode.testSpillForManyInts:·G1 Survivor Space.used 10 avgt 5 ≈ 0 kB
>> SpillCode.testSpillForManyInts:·Metaspace.used 10 avgt 5 3617.320 kB
>> SpillCode.testSpillForManyInts:·Total CodeHeap.used 10 avgt 5 2267.000 kB
>> SpillCode.testSpillForManyInts:·Total MemPools.used 10 avgt 5 22639.695 kB
>
> Eric Caspole has updated the pull request incrementally with one additional commit since the last revision:
>
> Add newline at end of file
Looks good, feel free to push once GHA are clean.
(If we need something else from this profiler, we can do that separately)
-------------
Marked as reviewed by shade (Committer).
PR Review: https://git.openjdk.org/jmh/pull/99#pullrequestreview-1385741601
More information about the jmh-dev
mailing list