HPC Java

shudo@computer.org shudo@computer.org
Mon Feb 7 11:25:00 GMT 2005


From: Terry Sikes <tlsikes@yahoo.com>
> Hi all. I've been pondering the issue below for a while, and thought
> I'd jot down some thoughts. I'd appreciate your feedback, especially
> if I missed anything in the Java drawbacks section.

Thanks for this informative list.
> Thoughts on High Performance Computing (HPC), Java and gcj
> ==========================================================
>> Why is Java desirable as a HPC language?

> - Stricter semantics should offer higher performance than C++.

Stricter semantics generally restrict opportunities for compiler
optimizations. For example, Java's exception semantics need a runtime
to throw a (sycnhronous) exception just in the timing and this
semantics obstruct code motion for optimizations.
On the other hand stricter semantics support reproducibility of
calculation and program execution. It is true even for distributed
computation heterogeneous computers if the program does not involve
non-deterministic properties.
> What keeps Java (SE) from being a world-class HPC language?

It is very interesting that C# language/runtime has solutions for the
following Java's properties:
> - No support for immortal (truly static) allocation. GC overhead
> considered excessive. Desirable if GC subsystem not present if all
> allocation is immortal.

> - No support for lightweight types (Fortran style complex for
> example). Compiler should allow definition of new lightweight
> types, even if arduous.

> - Lack of flat multidimensional arrays (Fortran style).

> - No operator overloading. (Solvable with preprocessor - high
> efficiency.)

 Kazuyuki Shudo	shudo@computer.org	http://www.shudo.net/


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /