A lot has been said of how programmers' time is more valuable than a few machine cycles they save by trying to make their software run faster. A convenient excuse, I think, for laziness. Which may be why you find slashdot etc. full of posts on how interpreted and bytecode languages/platforms (like Mono and Java) are going to swamp compiled languages into the dirt, and while they're at it, provide "safer" code. I think it's a thinly disguised ploy by the software companies to steal some of the hardware guys' lunch. "We write the bytecode interpreters, and are hence in control"
I believe this is one road that's best not taken. I use software that runs on Java all the time. It's slow, it's pokey and it crashes. Examples? Eclipse, Matlab, Azureus and an in-house radar display program called VCHILL. All of them share common characteristics: they start up fine, then slowly eat up memory until my workstation chokes and I kill the program. I lost track of how many collective hours have been wasted due to this.
But wait, it gets worse. We now have "Embedded Java", which Agilent have decided to incorporate into their N1996A Spectrum Analyzer. Now we have an instrument that takes about 3 minutes to start up... even if it's been plugged into the wall for days (older analyzers needed a warmup time for their frequency reference ovens, which you got around by leaving it plugged in). The software is so crummy that if you enable a cursor and move it around, THE ANALYZER STOPS SWEEPING! This is, simply put, the world's most poorly designed analyzer interface. Ever. If you're ever considering a budget spectrum analyzer, stay away from the N1996A until they've revised the software.
I was just telling Dave today, it used to be that the signal processor systems in a radar were the ones that needed expensive custom processor chips and supercomputers, while displays ran on workstations. Now, we run our processing on a workstation (and use barely 10% of CPU doing it), while the display needs a monster rig with tons of memory, and doesn't provide a single additional feature. Pathetic state of affairs.