Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Will the Javascript performance improvements from Trace Trees find their way into other interpreted languages?

It sounds like Mozilla is having good luck improving JavaScript performance with TraceMonkey. See also Andreas Gal's paper on Trace Trees.

Are these improvements available to other interpreters/compilers and if so, does this mean we'll see a cascade of improvements in other interpreted languages?

like image 403
Corbin March Avatar asked Sep 26 '08 15:09

Corbin March


1 Answers

There's a research JVM by Andreas Gal called HotPath, and some people from his team are currently working on adding nested trace tree based JITting to Maxine (Sun's new research JVM written in Java) and HotSpot. So, at least it is showing up in other VMs for other languages as well.

Also, the new PyPy JIT compiler (currently being prototyped in Prolog) uses some kind of tracing technique, although I don't know how closely related that is to Gal/Franz style nested trace trees.

The Rubinius guys are definitely aware of this work, and very open to experimentation. I wouldn't be surprised, if some advanced compilation techniques start showing up there, soon.

BTW: there is a Ruby VM written in JavaScript, called HotRuby. If you run that on TraceMonkey, you get trace tree based Ruby for free :-)

like image 159
Jörg W Mittag Avatar answered Nov 09 '22 10:11

Jörg W Mittag