(edited) (we’re using AdoptOpenJDK11.0.2 with JRuby 9.2.7.0. The JVM is hot) => we profiled (with async-profiler, cpu mode) our app and here’s the results: ``` ns percent samples top ---------- ------- ------- --- 28729216493 12.47% 2871 /opt/java/openjdk/lib/server/libjvm.so 10217190275 4.44% 1021 java.lang.invoke.MethodHandle.invokeBasic 3722712907 1.62% 372 vtable stub 3032384580 1.32% 303 java.util.concurrent.ConcurrentHashMap.get 2862104438 1.24% 286 org.jruby.runtime.callsite.CachingCallSite.call 2682040958 1.16% 268 org.jruby.runtime.Frame.updateFrame 2121434455 0.92% 212 org.jruby.internal.runtime.methods.MixedModeIRMethod.call 2061147509 0.89% 206 org.jruby.internal.runtime.methods.AttrReaderMethod.call 2051277047 0.89% 205 org.jruby.RubyBasicObject.getMetaClass 1951522254 0.85% 195 org.jruby.RubyModule.cacheHit 1841358302 0.80% 184 vtable stub 1690965900 0.73% 169 org.jruby.util.PerlHash.hash 1621307538 0.70% 162 org.jruby.internal.runtime.methods.CompiledIRMethod.call 1621031882 0.70% 162 org.jruby.RubyHash.internalGetEntry 1521156025 0.66% 152 java.lang.invoke.LambdaForm$MH.1164442411.invoke_MT 1440751770 0.63% 144 org.jruby.RubyModule.isSame 1330799359 0.58% 133 org.jruby.RubyBasicObject. 1260768385 0.55% 126 org.jruby.runtime.callsite.CachingCallSite.call 1241011867 0.54% 124 org.jruby.internal.runtime.methods.CompiledIRMethod.call 1230944741 0.53% 123 java.util.HashMap.getNode 1220779744 0.53% 122 org.jruby.internal.runtime.methods.CompiledIRMethod.call 1180966546 0.51% 118 java.lang.invoke.Invokers.checkCustomized 1150728525 0.50% 115 itable stub 1090574573 0.47% 109 vtable stub 1060674542 0.46% 106 org.jruby.runtime.callsite.CacheEntry.typeOk 1060611347 0.46% 106 org.jruby.internal.runtime.methods.DynamicMethod.call 1050687618 0.46% 105 org.jruby.runtime.Frame.setVisibility 1030962171 0.45% 103 java.lang.StringLatin1.hashCode 1020743297 0.44% 102 org.jruby.runtime.ivars.FieldVariableAccessor.get 1020425054 0.44% 102 org.jruby.RubyModule.searchAncestor 1020343689 0.44% 102 org.jruby.IncludedModuleWrapper.isSame 1000741887 0.43% 100 java.lang.invoke.MethodHandle.asTypeCached 970668521 0.42% 97 org.jruby.ir.runtime.IRRuntimeHelpers.getVariableWithAccessor 950504614 0.41% 95 org.jruby.runtime.ThreadContext.pushScope 920572710 0.40% 92 org.jruby.runtime.BlockBody.yield 920556638 0.40% 92 com.headius.options.Option.load 880671886 0.38% 88 org.jruby.internal.runtime.methods.MixedModeIRMethod.tryJit 863699817 0.37% 86 __lock_text_start_[k] 820735763 0.36% 82 java.lang.invoke.Invokers$Holder.invokeExact_MT 800523879 0.35% 80 org.jruby.internal.runtime.methods.CompiledIRMethod.call 800515916 0.35% 80 org.jruby.RubyClass.getVariableAccessorForRead 800456342 0.35% 80 org.jruby.runtime.ThreadContext.pushFrame 790363144 0.34% 79 org.jruby.runtime.Binding. 770495498 0.33% 77 org.jruby.RubyBasicObject.getMetaClass 730496540 0.32% 73 org.jruby.parser.StaticScope.acquireConstructor 720512263 0.31% 72 org.jruby.internal.runtime.methods.MixedModeIRMethod.call 710199514 0.31% 71 org.jruby.RubyModule.getDelegate 680384339 0.30% 68 itable stub 670568969 0.29% 67 java.util.concurrent.ConcurrentHashMap.spread 670319469 0.29% 67 org.jruby.RubyModule$JavaClassKindOf.isKindOf 630511811 0.27% 63 org.jruby.runtime.ivars.VariableAccessor.verify 630344013 0.27% 63 org.jruby.internal.runtime.methods.DynamicMethod.isRefined 620819029 0.27% 62 /lib/x86_64-linux-gnu/ld-2.27.so ```