-> 12 { 11 / 22 }
Ruby を 1.9.3 p327 から 2.0.0 dev に上げたら Rails の起動時間が2.5倍速、rake spec の速度が1.8倍速になった
流しのフェローが Ruby 2.0.0 速いって言ってたので、いやいや速いっていっても〜、と思って社内の Ruby 1.9.3 な Rails プロジェクトで 2.0.0dev 使ってみたら
1.9.3
[5]>_<X time bx rails runner 'puts Rails' Rails bundle exec rails runner 'puts Rails' 6.24s user 1.06s system 86% cpu 8.396 total
2.0.0dev
[5]>_<X rvm use ruby-head Using /Users/yuichi-tateno/.rvm/gems/ruby-head [5]>_<X time bx rails runner 'puts Rails' Rails bundle exec rails runner 'puts Rails' 2.51s user 0.61s system 93% cpu 3.343 total
な感じで、Rails の環境ロードして立ち上げが 8.3 秒 -> 3.3秒 になって 2.5倍やばい!!!!って感じに!!1 require が高速化したから、ライブラリたくさん読み込むプロジェクトはかなり速くなるらしい。
また、rake spec の速度も unit test / functional test メインのプロジェクトで
# ruby 1.9.3 Finished in 49.18 seconds bundle exec rake spec 59.51s user 3.54s system 89% cpu 1:10.50 total
の spec 時間49秒、その他もろもろ含めて70秒から
# ruby 2.0.0dev Finished in 28.53 seconds bundle exec rake spec 29.72s user 2.92s system 84% cpu 38.854 total
spec 時間28秒、もろもろ含めて39秒と1.8倍速に。快適すぎてマジヤバーイ。ちなみに社内の ruby 1.9.3 なプロジェクトは試した限り ruby 2.0.0dev でもすべて spec 通った。さすが 100% 互換性という話し!
なお、text で hello world を表示するだけの Rails app (unicorn) のベンチを ab でとってみたけど、これぐらい単純なアプリだと 1.9.3 と 2.0.0 の速度差は誤差レベルでした。
あわせて読みたい
- Ruby 2 and Rails 4 // Speaker Deck
- Ruby 2.0 on Rails // Speaker Deck
- Ruby 2.0 のツボを押さえためちゃくちゃ解りやすくて良い資料…!
きょうはいちにち ruby 2.0.0dev 厨でした!はやく 2013年2月24日の ruby 2.0.0p0 リリースこないかなぁ〜わくわく!
コメント
トラックバック - http://subtech.g.hatena.ne.jp/secondlife/20121122