On 19/09/2013 17:58, Andrei Alexandrescu wrote:
On 9/19/13 1:25 AM, Russel Winder wrote:
Java is no longer under-performant compared to C, C++, Fortran, D, Go,
Rust. Check the benchmarks.

Hmmm, this is not established wisdom and the glib "check the benchmarks"
doesn't quite help.

Java has gotten on par with C and C++ for raw performance of "straight"
code (numerics, I/O etc). I've seen such. Java seems to have issues
involving layout control, which is an important influencer of
performance in computing nowadays.

Clearly the Java community has amassed a nice bag of tricks regarding
performance optimization (parallel arrays, hoisting allocations, etc)
but systems compilers and techniques have also made solid progress. When
it comes to getting "all" performance, the C model is where it's at.


Andrei


I was about to say something similar. Java is no longer under-performant to C/C++, etc., for a *certain* class of applications only. Applications that mainly do data manipulation, I/O, etc., because the JIT will (eventually) compile the Java bytecode to native code. So Java really is not behind because of being VM-based instead of fully native-based.

Generally though, I would still say Java is under-performant compared to C/C++, etc., although I would say it's mainly due to lack of optional manual memory management. Or lack of value-types (which in a way, are a form of memory management). I didn't think layout control would be a major issue, except for a very specific type of applications, no? That seems like a very low level optimization.

--
Bruno Medeiros - Software Engineer

Reply via email to