RFR (S) CR 7177472: JSR292: MethodType interning penalizes scalability

Aleksey Shipilev aleksey.shipilev at oracle.com
Tue Jun 11 16:03:02 UTC 2013


On 06/11/2013 07:43 PM, Christian Thalinger wrote:
> Thanks for this but I was thinking running it with -Xprof to see
> whether some of the table methods show up on the profile.

I put little trust into this kind of profiling, but here's the sample
output from JMH -prof stack, while running with 4 threads:

Before:
> Iteration   5 (20s in 4 threads): 380.982 msec/op
>        Stack |  24.8%   RUNNABLE jdk.nashorn.internal.runtime.regexp.joni.ByteCodeMachine.matchAt
>              |   6.5%   RUNNABLE jdk.nashorn.internal.runtime.regexp.joni.SearchAlgorithm$3.search
>              |   5.2%   RUNNABLE java.lang.Class.getClassLoader0
>              |   3.3%   RUNNABLE java.lang.ThreadLocal.get
>              |   3.0%   RUNNABLE jdk.nashorn.internal.runtime.regexp.JoniRegExp$JoniMatcher.<init>
>              |   2.9%   RUNNABLE jdk.nashorn.internal.objects.NativeRegExp.replace
>              |   2.4%   RUNNABLE jdk.nashorn.internal.runtime.regexp.joni.Matcher.forwardSearchRange
>              |   2.3%   RUNNABLE jdk.nashorn.internal.objects.NativeRegExp.exec
>              |   2.1%   RUNNABLE jdk.nashorn.internal.objects.NativeRegExp.groups
>              |   1.9%   RUNNABLE jdk.nashorn.internal.objects.NativeString.replace
>              |  45.6%            (other)
>              |


After:
> Iteration   5 (20s in 4 threads): 358.121 msec/op
>        Stack |  24.7%   RUNNABLE jdk.nashorn.internal.runtime.regexp.joni.ByteCodeMachine.matchAt
>              |   5.7%   RUNNABLE java.lang.Class.getClassLoader0
>              |   5.3%   RUNNABLE jdk.nashorn.internal.runtime.regexp.joni.SearchAlgorithm$3.search
>              |   3.5%   RUNNABLE java.lang.ThreadLocal.get
>              |   3.4%   RUNNABLE jdk.nashorn.internal.runtime.regexp.JoniRegExp$JoniMatcher.<init>
>              |   2.7%   RUNNABLE jdk.nashorn.internal.objects.NativeRegExp.replace
>              |   2.3%   RUNNABLE jdk.nashorn.internal.runtime.regexp.joni.Matcher.forwardSearchRange
>              |   1.8%   RUNNABLE jdk.nashorn.internal.objects.NativeRegExp.exec
>              |   1.7%   RUNNABLE jdk.nashorn.internal.objects.NativeString.replace
>              |   1.5%   RUNNABLE jdk.nashorn.internal.runtime.regexp.joni.StackMachine.pop
>              |  47.3%            (other)
>              |

-Xprof shows the similar data.

-Aleksey.



More information about the core-libs-dev mailing list