There is certain kinds of code that will run faster on Java than C or C++. I forgot what that was, but there were certain kinds of optimizations that the JVM can make having to do with Jitting and runtime checking that makes the code run faster than C/C++ would be able to do. This is why you cant say that one language is always faster than another, every language has its sweetspot where it will take advantage certain kind of code. This is why benchmarks have to be as general as possible.