Hatena::Groupsubtech

#生存戦略 、それは

-> 12 { 11 / 22 }

Ruby を 1.9.3 p327 から 2.0.0 dev に上げたら Rails の起動時間が2.5倍速、rake spec の速度が1.8倍速になった

21:05 | はてなブックマーク - 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.0.0dev 厨でした!はやく 2013年2月24日の ruby 2.0.0p0 リリースこないかなぁ〜わくわく!

トラックバック - http://subtech.g.hatena.ne.jp/secondlife/20121122