Re: GC.heap_dump performance regression in Java 21

2023-10-06 Thread Hannes Greule
Hi Frederic, hi Alex, thank you for your comments. I think it is better to have a fresh implementation in fieldStreams.hpp. This way, other functionality can be addressed separately (and fieldStreams.hpp is a more appropriate place imo). I agree that the FieldStream implementation should be

Re: GC.heap_dump performance regression in Java 21

2023-10-06 Thread Frederic Parain
Hi Hannes, Thank you for the analysis and the proposed solution. The changes look reasonable to me, and I agree with Alex that we should either fix or get rid of the old FieldStream implementation. If we keep it, this kind of performance issue will happen again. Regards, Fred On 10/2/2

Re: GC.heap_dump performance regression in Java 21

2023-10-02 Thread David Holmes
cc'ing hotspot-runtime-dev and Fred. :) Cheers, David On 3/10/2023 4:49 am, Hannes Greule wrote: Hi, recently, a performance regression of jcmd GC.heap_dump was brought to my attention. I investigated the regression and tracked down https://bugs.openjdk.org/browse/JDK-8292818 as the source o

Re: GC.heap_dump performance regression in Java 21

2023-10-02 Thread Alex Menkov
Hi Hannes, The change looks very reasonable to me. Field order is not important in the heap dump (the order just should be the same in class and instance subrecords). And I think it would be better to fix original FieldStream (or introduce new HierarchicalFieldStream and use in for heap dumpi

GC.heap_dump performance regression in Java 21

2023-10-02 Thread Hannes Greule
Hi, recently, a performance regression of jcmd GC.heap_dump was brought to my attention. I investigated the regression and tracked down https://bugs.openjdk.org/browse/JDK-8292818 as the source of it. For reproduction, I used the code at [1] and ran it with `java -Xmx2G CountPrimes`. In Java 1