This post originated from an RSS feed registered with Agile Buzz
by James Robertson.
Original Post: Explaining the Nature of Reality
Feed Title: Cincom Smalltalk Blog - Smalltalk with Rants
Feed URL: http://www.cincomsmalltalk.com/rssBlog/rssBlogView.xml
Feed Description: James Robertson comments on Cincom Smalltalk, the Smalltalk development community, and IT trends and issues in general.
Joel’s wrong. Yes, Ruby is slow, and yes, that has to do with Ruby’s naive implementation of method dispatch, but no, it’s simply not true that you can “never get something compiled down” to the point where it’s fast enough. A proper implementation of a duck typed language will get method calls down to a single jump plus a single compare, 95% of the time. There’s no vtable indirection needed, which means that it’s generally faster than C++, because branch prediction works and the pipeline doesn’t stall.
In general, Smalltalk can do message dispatch faster than C++. Read the rest of Avi's post for a complete explanation.