Douglas Roberts wrote: > By the way, regarding those studies which purport to show that java is > as fast is C++: it is easy to construct a test that does not require > much garbage collection for a java implementation. In reality, large > agent-based simulations written in java garbage collect. It is > therefore easy to find studies that support either side of the > argument regarding java performance. The issue is not whether Java code performance is or can be made to be as fast as C++. The issue is whether Java's memory model is amenable to understanding how code really runs on a processor in a JVM. If there are pipeline stalls that are due to allocation and garbage collection is it obvious how to intervene? Very high performance code requires that the logical execution of a program meshes well with the work that the CPU can actually do in parallel. To the extent HPC people laugh at Java users, it's because so many Java users happen to be newbies that don't actually have any idea about making code groovy with a given CPU architecture. In principle all of the same things can be done in Java, given some tolerance for indirection and lack of control, but historically use of supercomputers was something that was planned with code being implemented around a specific architecture to get maximum bang for the buck.
============================================================ FRIAM Applied Complexity Group listserv Meets Fridays 9a-11:30 at cafe at St. John's College lectures, archives, unsubscribe, maps at http://www.friam.org
