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.