So, last week at the JVM Language Summit, Cliff Click gave a  
presentation about performance characteristics of various dynamic  
languages on the JVM. (Can't link his presentation in, as the summit  
Wiki is temporarily down...) He was specifically running numerical  
algorithms and watching how they look like after they're bytecode  
compiled, and then JITted all the way down to machine code.

For Rhino, he said it suffers of "Death by Double" -- all numeric  
operations run on java.lang.Double objects.
I said "well, there's a command line switch -opt 1 that'll turn on  
various optimizations, among others, the ability to Java primitive  
values when the optimizer can figure out it's safe".
He asks: "so, it changes the semantics of runtime, right?"
I start replying: "It doesn't change sem..."
At which point I'm cut off with: "Then why is it not on by default?"

Well, touché.

So, indeed, why is it not on by default? Is it known that it changes  
runtime behavior, or are we just not sure that it doesn't?

Attila.

--
home: http://www.szegedi.org
weblog: http://constc.blogspot.com
twitter: http://www.twitter.com/szegedi
_______________________________________________
dev-tech-js-engine-rhino mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-js-engine-rhino

Reply via email to