On Sunday, 21 December 2014 at 10:00:36 UTC, Russel Winder via
Digitalmars-d wrote:
Although the vast majority of Java is used in a basically I/O
bound
context, there is knowledge of and desire to improve Java in a
CPU-
bound context. The goal here is to always be as fast as C and
C++ for
all CPU-bound codes. A lot of people are already seeing Java
being
faster than C and C++, but they have to use primitive types to
achieve
this. With the shift to internal iteration and new JITS, the
aim is to
achieve even better but using reference types in the code.
That is quite a claim. If it is true in some context, and I'd go
as far as to say that vanilla code in C/C++ tend to be slower
than the vanilla version in java, ultimately, C and C++ offer
more flexibility, which mean that if you are willing to spend the
time to optimize, Java won't be as fast. Generally, the killer is
memory layout, which allow to fit more in cache, and be faster.
Java is addicted to indirections.