Hacker News new | past | comments | ask | show | jobs | submit login

It's a ruby issue. See: http://rhnh.net/2011/05/28/speeding-up-rails-startup-time

My rails 3.1 starts in under ten seconds on ruby 1.9.2 with the patch.




The ruby issue should improve performance of rails 3.0 as well. Given that the parent was comparing two rails versions on the same ruby version, I do think there has been a degradation in rails itself.


I would expect that, rails 3.1 includes more library code then rails 3.1. Now whether or not that's the entire reason, I don't know. Remember the ruby problem is a exponential algorithm, you wouldn't need to include that much more code to cause massive performance.


There is a talk by Aaron Patterson from RailsConf talking about why rails 3.1 is slower than rails 3 and rails 2.3. Basically the rack pipeline is getting deeper. Because rack is so simplistic every request requires you going through that pipeline and back again.

His solution is to break up the pipeline into 3 separate types: generators, filters (for response data), and lifecycle hooks. Doing this brought the speed back up to rails 2.3 speeds and a bit faster in some instances. But those were early numbers.

You can see his talk here: http://www.youtube.com/watch?v=kWOAHIpmLAI

The interesting stuff happens around the 20 min. mark.

Overall, there are a lot of people who want to make ruby better and faster. Rubinius, Jruby and MacRuby are all examples. There are also people who want to make Rails faster. They are examining the slower parts (active record, rack, etc) and working to make it better.


I don't think that's related. Aaron's talking about request handling speed; the people above you are talking about boot speeds.


How to get the actual 1.9.3 performance speed up now (in 1.9.2-p180):

http://www.rubyinside.com/get-edge-ruby-faster-loading-ruby-...

Xavier's awesome patch was somewhat usurped by a scrappier, yet still effective, one by the core team. I did an investigation and analysis of the story:

http://www.rubyinside.com/ruby-1-9-3-faster-loading-times-re...




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: