|
|
|
|
|
by ShabbyDoo
3204 days ago
|
|
Yes. The author didn't note his testing methodology. JMH (Java Microbenchmark Harness) is the gold standard for executing Java benchmarking tests: http://openjdk.java.net/projects/code-tools/jmh/ It takes care of details like JVM warm-ups. ensuring sufficient invocations for JIT compilation to have occurred, etc. |
|
Testing with CompilerControl.Mode.EXCLUDE in JMH is still more reliable than testing manually, when you don't know if it got compiled or not.
Interpreted code is a case where method handles should be much faster than the generated accessor classes used by reflection - lambdas and method references are faster than an inner class implementing a functional interface before jit compilation. Afterwards, performance tends to be sameish.