"I have a mind like a steel... uh... thingy." Patrick Logan's weblog.

Search This Blog


Tuesday, September 12, 2006

Ruby and Strongtalk

Avi Bryant makes the connection between JRuby, Ruby performance generally, and how fast dynamic languages can really be, e.g. the Strongtalk implementation.

As it happens, the Strongtalk VM would make an excellent basis for the next generation Ruby VM. Given that Sun still employs some of the original Strongtalk engineers, and has just hired the JRuby guys, maybe they can make that happen?
It gets even better... Strongtalk was the precursor to the Java Hotspot runtime. Java is essentially already running a pretty good dynamic runtime under the hood. The language-specificness of the JVM just has to be peeled back a notch and Ruby (and Smalltalk, and Lisp) would be good to go. Or at least much better off than they are now.

Maybe a bit more than a notch. Please start peeling.

Then someone over at James Robertson's blog asks about the performance of a good dynamic dispatch mechanism relative to C++.

In general, Smalltalk can do message dispatch faster than C++.
Is that one of those in theory things?
The line was crossed some time ago when the nature of most C++ applications on the hardware at the time was better suited to dynamic dispatch. When you talk about "C++" once again you have to talk about which implementation. Some C++ implementations have been able to do a more dynamic dispatch (i.e. again implement a significant dynamic language mechanism) in order to get better performance than the more traditional vector-based fixed offset indexing.

Dynamic *will* continue to win more and more for most applications.

1 comment:

David said...

As Avi mentions, Gilad Bracha is one of the Strongtalk guys that Sun got. And Gilad is involved in the something like the peeling you describe.

And, by coincidence (or is it?), Sun released the Strongtalk source code this week.

Blog Archive

About Me

Portland, Oregon, United States
I'm usually writing from my favorite location on the planet, the pacific northwest of the u.s. I write for myself only and unless otherwise specified my posts here should not be taken as representing an official position of my employer. Contact me at my gee mail account, username patrickdlogan.