My opinion about high performance computing and Java could be out of
date. From a pure number crunching and parallel computing perspective,
it was always hard to find an advantage in using object oriented
languages. Working in pure C you could take advantage of cache
coherency when working with multiple processors. For example, you
could take a dynamic algorithm, and pump numbers thru a pairing
function (a simple mathematical function to store the cells of a
matrix such that fast cache could do its magic). I really don't know
if this would work in Java because objects get stored all over the
place, and Java forces almost everything to be an object. I found
objects to be immensely unnecessary most of the time in the pure (how
fast can this algorithm run) high performance world. Say, in a more
complex framework which utilizes HP stuff, Java would be sweet.

Another issue is benchmarking algorithm results. Benchmarking is
difficult and controversial, and I thought Java has been outright
discouraging it for years. I know Java has gained a tremendous amount
of speed on individual mathematical operations, FFT algorithms etc.,
but can you really do something like play with cache coherency to
speed up an algorithm? I don't know. As someone already said, it
depends on what you're doing. It might also end up depending lots on
future compilers and what they can do. I used Portland Group compilers
for high performance projects and it really didn't matter if we had
f77, f95 and C++ glued together somehow. The compilers did a great
job.

cara

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to