From: pat eyler Date: 2006-05-23T01:59:46+09:00 Subject: Re: Zed and Luis drop the bomb on Ruby's poor performance On 5/22/06, cremes.devlist@mac.com wrote: > The O'Reilly blog has two great interviews posted from the last week > or so. The first [1] is with Zed Shaw, the author of Mongrel (and a > bunch of other Ruby frameworks and utilities). A follow-up interview > with one of the contributors on the Mongrel project, Luis Lavena [2], > covered some similar ground. First, thanks for reading and pointing out the interviews. I'm glad people are enjoying them. I'm hoping to do some more in the coming weeks/months. > > What I found most striking about both interviews was their mention of > YARV and Ruby's poor computational performance. Zed said, and I quote: > > > I'll be honest right away though and say that Ruby is slow. The > > Ruby community has been ignoring the huge "performance" elephant > > standing in the room and they need to start talking about it so it > > goes away. Elephants hate being talked about. There are a few > > efforts to make Ruby faster, but I see a lot less action than is > > needed to solve the problem. One solution in the works is a real > > virtual machine called Rite (or YARV depending on who you talk to) > > which is showing some real promise and seems to be speed > > competitive with the fastest Java implementations. I think you're quoting selectively here. There are some counter points in both interviews. Luis said: "For us, Ruby on Rails (RoR) lets us build *fast*, clean (especially clean) prototypes within hours or days, not weeks or months. Then we can move from prototype to final product within weeks, even for big projects (like migrating a whole application from Zope to RoR)." (emphasis added) Zed said: "Ruby's advantage though is not in it's blazing execution speed but it's blazing coding speed. I'll put it to you this way: I wrote mongrel in about 3 months. That's a full featured stable web server that can run four Ruby web application frameworks and is already powering many Ruby web sites. This wouldn't be possible without Ruby the language." He also wrote: "[A] Rails application many times can outperform similar applications in Java or PHP." This doesn't mean Ruby is a speed demon, or that Zed and Luis don't want to see general speed increases (we all do, and they seem to be on the horizon). For most users (as has been repeated on this thread a few times), Ruby is fast enough, and easy to optimize when it's not (RubyInline for pure Ruby, cacheing for Rails). > > I tend to agree with this. Whenever the subject of computational > performance comes up, quite a few posts end up in the thread > questioning the meaning of the word performance and turn it into an > argument over semantics. Is it coding speed, clarity of thought, > readability, etc. To me that kind of crazy semantic dodge doesn't > serve us well. Those discussions should be remain on computational > performance since the language has been (mostly) stable in syntax for > years. I think the main argument you will run into (over and over again) is, have you profiled your code? Do you know what's running slowly? If not, you may just be moving through a bottleneck a little faster once YARV gets here. Really, I'm all for improvements to Ruby in general, but profiling and optimizing your bottlenecks by writing better code will help you out of a number of tight spots. > > So what is being done to get YARV the attention it deserves? Why > aren't we talking about it all the time? What can I personally do to > help? Are there valid excuses for not focusing on improving Ruby's > poor computational performance? Are you on the Ruby Core mailing list? Are you posting bugs and feature requests to the trackers? Have you downloaded and built YARV so that you can test it on your system? All of these are ways you can get involved and help out. > > cr > > [1] http://www.oreillynet.com/ruby/blog/2006/05/post.html > [2] http://www.oreillynet.com/ruby/blog/2006/05/interview_with_luis_lavena_2.html > -- thanks, -pate ------------------------- http://on-ruby.blogspot.com