
"Ruby isn't slow. If anyone tells you PHP is faster than Ruby, tell them: 'Benchmark it.'" - pius
http://skitch.com/leinweber/2qju/merbcamp
======
charlesju
Maybe I'm slow but it seems to me that the language is never the bottleneck
for web applications. It seems to me that the bottleneck is in the db which is
language agnostic for all general purposes.

And anything that is slow with just Ruby can be solved by throwing money at
it.

~~~
jlouis
Thoughtful and correct IMO. Caching is much more important to get right than
backend-speed. Number crunching capability does not matter that much for web
applications. And you can always outsource the tough calculations to languages
better suited for it: ML, Common Lisp, C++, C, etc.

------
jacobbijani
Oh, god. How many times does this point need to be made? Yeah, cool. The
compiler is fast.

Probably 1% of all websites on the internet ever manage to get enough traffic
to make the language matter, right?

~~~
kaens
To be frank, at this point in time when I'm developing for the web, just about
the only thing I care about when it comes to what language I'm using is that
it's not PHP.

I understand why people use PHP, but as someone who has a decent amount of
experience with a variety of languages, I really want a language that's
designed _sanely_ , especially for things like web-(sites|apps). I'll _gladly_
take a hit on the language-speed side, or on the ease-of-finding-hosting side
for the sake of not having to put up with PHPs craziness.

Why? For just the reason you pointed out - the vast majority of websites don't
get enough traffic to make the language matter. I'd imagine that things like
_learning how to configure apache and/or a caching tool like memcached_ would
handle most of the performance bottleneck on a site that _did_ get that level
of traffic.

Seriously - if a language is "fast" enough to allow the creation of responsive
GUI apps, it's "fast" enough for web-apps.

~~~
neovive
PHP might not be the most elegant in the world, but for a small- to mid-size
web application, using a solid PHP5 framework (like KohanaPHP) along with a
PHP accelerator and you have an easy-to-use and easy-to-deploy application.

~~~
kaens
I agree in general, it's just not for me.

For small to mid-size web apps, I far prefer python and cherrypy
(<http://www.cherrypy.org>). Easier to use, and easier to deploy assuming you
have hosting that gives you control over your hosted machine (here's looking
at you, slicehost).

------
sfamiliar
quite a few newcomers come to rails and think it's slow, because they're 'doin
it wrong'. every framework's speed is really about your deployment setup.
running mongrel can be slow, especially if you're load-testing a single
mongrel instance. multiple instances can be slow if they're connecting to a
slow database and serving static files.

put nginx in front of thin, start caching frequently used objects, and slice
up your database and suddenly speed isn't a problem. php has the (perceived)
advantage of running compiled in an apache module, typically. but it's a
perception -- you have to do a little more tuning with your rails deployment
to make it scream, but make no mistake, it can scream, even under heavy load,
and without a huge server farm, at least up to 500K pages/day. i know that
number because i've served it. quickly.

in radiant. (gasp! yes, with some caching.)

with one database.

it's a lesson i learned working with tomcat back in the day: defaults suck.
learn your framework, learn your app server, pick the Right Thing. it's all
about application tuning and app-server choice, and that goes for every
language and platform in existence.

------
pius
The headline is a quotation from Yehuda Katz's MerbCamp closing keynote. See
the summary of the keynote here at the bottom of this link:

<http://rubypond.com/articles/2008/10/12/merbcamp---day-2/>

------
rlachenal
Translate please -

[http://shootout.alioth.debian.org/gp4/benchmark.php?test=all...](http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=ruby&lang2=php)

~~~
silentbicycle
The white bars are time, the black bars are memory usage. Ergo, in _most_
cases, PHP is running 2-5x faster than Ruby, but using about 3x as much
memory.

~~~
jlouis
Memory usage can probably be attributed to how PHP manages memory (hint: It
/almost/ doesn't).

~~~
silentbicycle
Right.

Outlying results have to do with that whatever that specific benchmark
concerns, e.g. thread startup cost.

~~~
igouy
> e.g. thread startup cost

There are 2 which require threads, there's no PHP program for either of those
so why do you think "thread startup cost" has any relevance?

~~~
silentbicycle
I wasn't stating which the outliers test, I was saying how to read the graph.

~~~
igouy
If that was your intention it's strange that as an example you suggested
something that is not shown on the graph.

------
zinxq
If you're comparing something to PHP's speed, you've already lost.

------
drawkbox
...and Python is still 3x faster than PHP and Ruby without psyco..

------
omouse
You can also say "Smalltalk isn't slow" or "Lisp isn't slow", but you won't
see anyone run towards either of them...

~~~
tptacek
Unlike Ruby.

~~~
omouse
Worse is better as they say.

------
markbao
Stats for Rails?

~~~
pius
"Next was comparing Merb against other ruby options. Returning directly from
the Merb router kills everything, but there aren’t many scenarios you could
use that. _Sinatra is just slightly faster than returning from the Merb
controller, which both outperform Rails by a 3-4x. Rails itself still kills
CakePHP._ "

~~~
markbao
oh, crap.

