turbo-sprockets-rails3を試してみた
Rails3といえばasset pipeline。 賛否両論ありますが僕はそのコンセプトが好きです。 ただ欠点があってCPUの性能が低いマシン(EC2 smallインスタンスなど)ではasset precompileがくそ遅い。 仕事で運用しているあるサイトでは大体150秒くらいかかってしまっている。
$ bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile command finished in 147997ms
Rails4の目玉機能としてこのasset precompileが高速化されるらしいが、この高速化体験をrails3でも試せるのがturbo-sprockets-rails3らしい。 さっそく試してみた。
Gemfileに追加
$ vi Gemfile gem 'turbo-sprockets-rails3' # 追加
インストール
$ bundle install
実行
$ bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile command finished in 74795ms
半分の70秒になった。
2回目実行
$ bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile command finished in 15647ms
2回目早くなるのは無駄なコンパイルをやってないかと思われるがこのスピードは嬉しい。 特に不具合なかったのでproductionにdeployしちゃった。