De-doubled call tree with profiler

Aleksey Shipilev shade at redhat.com
Mon Mar 6 15:07:48 UTC 2017


Hi,

On 03/06/2017 03:57 PM, Romain Quinio wrote:
> I'm curious to know what could be causing this !

This is Reflection inflation. See e.g. here:
 https://blogs.oracle.com/buck/entry/inflation_system_properties

JMH does not care which way we end up in the generated code stub, because we are
supposed to enter it once per iteration.

> sun.reflect.DelegatingMethodAccessorImpl.invoke(Object, Object[])
> sun.reflect.GeneratedMethodAccessor7.invoke(Object, Object[])
> *mypackage.generated.MyBenchmark_decodeXmlToJaxb_jmhTest.decodeXmlToJaxb_AverageTime(InfraControl,
> ThreadParams)*

This is the inflated version.


> sun.reflect.NativeMethodAccessorImpl.invoke(Object, Object[])
> sun.reflect.NativeMethodAccessorImpl.invoke0(Method, Object, Object[])
> *mypackage.generated.MyBenchmark_decodeXmlToJaxb_jmhTest.decodeXmlToJaxb_AverageTime(InfraControl,
> ThreadParams)*

This is the "native" version.



Thanks,
-Aleksey




More information about the jmh-dev mailing list