quote:Original post by CrashTheuniversE
I think there is no real basis for the results. Everybody
knows that even if interpreters (JVM, and Python) are
now very optimized with OTB(on time building/compilation),
they can''t stand results of a fully compiled programm, IMHO.
When I was taking a grad optimizing compiler course, the professor mentioned this project:
http://www.hpl.hp.com/techreports/1999/HPL-1999-78.html
http://www.hpl.hp.com/techreports/1999/HPL-1999-77.html
It''s Dynamo by HP. They created an HP-RISC interpreter that would run regular compiled HP-RISC binaries. And they ran this thing on an HP-RISC machine... so they had an HP-RISC interpreter running on an HP-RISC machine, and the interpreter analyzed programs while they were running and created further optimized code based on how the program actually ran (what branches it took, what parts of the program were run frequently, etc). They were starting with binaries that had already gone through an optimizing compiler, but they were able not only to make up the performance hit of running the interpreter, but to actually get better performance than if they just ran the binaries on the bare machine.
Pretty impressive stuff.
Now, our JIT compiled and interpreted languages aren''t doing that well, but the point is that JIT or interpreted doesn''t automatically mean slow. There are other factors that affect performance. One is language features; if your language is dynamically typed and using all sorts of runtime checking to get things done, that adds overhead that can''t be optimized away. Quality and maturity of implementation is also a big issue, and I think it''s safe to say that the interpreter for Python, for example, has not had as much time and effort poured into getting it optimized it as many of the C and C++ compilers that are out there, and a lot of this will have to do with the intended use of the language. But my guess is that the future will be JIT or interpreted with performance equal to or better than current languages with better portability. I''m not saying it will be Java 2.5 or some version of C#, but eventually it will happen.
Man it was a pain to dig up those papers on Dynamo. I couldn''t remember the name, and searching for keywords turned up all kinds of unrelated crap. But I knew if I tried to cite that system without links I''d be called a BSer.
[Edited by - The_Incubator on November 28, 2006 11:07:29 PM]