Topic: Ruby on Rails vs. Django performance
I love Ruby on Rails and it definitely remains my 1st choice for small to medium scale sites. But for sites that aim to be truly huge, I'm not sure anymore that Rails is the best choice. I know Ruby on Rails *can* scale, but the more pertinent issue seems to be: What are the costs of scaling? e.g. how much more hardware would I need in order to scale a Rails app as compared to a Django app?
From what I've been hearing and reading, Django seems to be an excellent Python equivalent of Rails. It also boasts significantly better performance. The main downsides for me would be:
- time to learn it
- less plug-ins
- smaller community?
- less beautiful and concise code
I would estimate that it would add somewhere on the order of 2-5 months to my development time.
There seems to me to be some consensus that Django does perform better than Rails, but I want to know how much better I should expect it to be for say an application similar to Wikipedia. If the costs of scaling Rails as compared with Django are relatively small, I think I'd be okay with sticking with Rails. On the other hand, if scaling with Rails is significantly more costly than with Django, I think I'd make the initial time investment of switching to Django.
Perhaps the most realistic test comparison suggests Django performs 34% better than Rails:
A very simplistic "Hello World!" test comparison suggested Django performs around 3 times better than Rails:
Neither of those comparisons, however, involve much more than serving simple pages. For more complex applications, Python vs. Ruby performance will begin to matter much more. Benchmarks suggest Python is 2-3 times faster than Ruby:
And with the Psyco plug-in, Python can be 10, 20, 40 or some tests even suggest 128 times faster:
How much faster do you think Django would be over Ruby on Rails on a large, real-world site?
Also, in terms of your personal preference, time and budget, at what speed ratios would you prefer Rails over Django for a large site?