I totally agree, and I have complained about Java's lack of structured value types many times before because they are the main reason for Java's crazy memory usage.
However, the gap has narrowed significantly with the introduction of pointer compression in Java. It only works up to 32GB though, so this is going to be a temporary boost for Java I guess.
Comments
And by the way, for the typical user, the performance difference between C++ and, say, C# won't be as pronounced (F# is another matter, though).
If you include memory usage in your performance comparison (which is very important for parallel programming), C++ is leagues ahead.
I totally agree, and I have complained about Java's lack of structured value types many times before because they are the main reason for Java's crazy memory usage.
However, the gap has narrowed significantly with the introduction of pointer compression in Java. It only works up to 32GB though, so this is going to be a temporary boost for Java I guess.
Could you point me to any references about pointer comparisons in Java? How is it different than
Object a = new Object(); Object b = new Object(); boolean bool = a == b;
I said "pointer compression" not "pointer comparison".