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]
