Hello,
The runtime of Golo (http://golo-lang.org/) makes several uses of general invokers (MethodHandles.{invoker,exactInvoker}). I noticed a severe performance drop when running code on OpenJDK 8. Perhaps this has something to do with the lambda form backend? To give you an idea some of my micro-benchmarks stress call sites based on such invokers. * Under OpenJDK 7 or Oracle JDK 7 I get ~0.175s on a machine once the JIT stabilises. It aligns with what you get with a static method dispatch at an invokestatic call site. * Under OpenJDK 8 I get ~0.75s in the same conditions, which is severely slower. I am not doing anything fancy in the Golo runtime, just dispatching calls where the first argument is method handle, and the remainder are arguments. One of such call sites bootstrap is as simple as: public static CallSite bootstrap(MethodHandles.Lookup caller, String name, MethodType type) { return new ConstantCallSite(MethodHandles.invoker(type.dropParameterTypes(0, 1))); } // e.g., (MethodHandle mh, Object a, Object b) => mh.invoke(a, b) Any idea? - Julien