Cheers,


Yes, it is incredibly slow.  Here's some benchmarks showing python is
significantly faster in everything but startup time.  Even the author
of ruby says ruby is slow, and its planned to make it a bytecode compiled
language like everyone else in ruby 2.

http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=ruby&lang2=python


Benchmarks are fine but you should always check your specific setting and application.

The author does not say that Ruby is slow and I know that Ruby 2 will get faster with YARV (the bytecode compiler). But the question is if it is fast enough. Ruby is clearly slower than Java, but Java is slower than C, so why not use C?

Because of abstraction and verboseness. Java operates at a higher abstraction level than C which make programmers more productive at the cost of raw speed. The same argument can be made for Ruby vs. Java or Ruby vs. PHP.

You can serve "millions of requests" with a cgi shell script too.
Just because your pages are very simple, and/or can be cached, doesn't
mean ruby is fast.  For apps that are truely dynamic and cannot be
cached, it is horribly slow.  Some of my complex pages can't even
manage 1 request per second in rails.  The same thing gets 3 req/sec
on django.  Buying 3 times as many servers just because you picked a
slow language with a bloated framework seems pretty dumb.


We have also very complicated dynamic pages that cannot be cached in one piece. But fragment caching makes it very easy to cache parts of the page.

Buying 3 times the servers is an option if you pay less for the hardware than for the developer time. In our case this is true.

With Ruby on Rails you get an incredible increase in productivity.

You can get the same (not really that incredible) increase in productivity
using a faster language with a similar framework, like perl or python, or
even java.  It would be different if you were trading away execution speed
to gain programming speed, but using rails is trading away execution speed
for nothing.


I doubt that there is a more productive web framework in Perl or Java, especially Java. Django may be another thing but I like to program im Ruby and not in Python. From my experiences I can say that Djano is very productive but not as productive as Rails.

I think that the discussion is stuck at this point as you claim one thing and I another and the real arguments are gone.


Adam



Jonathan

Reply via email to