Ruby 2.0 がリリースされました。以下を参照してください。
http://www.ruby-lang.org/en/news/2013/02/24/ruby-2-0-0-p0-is-released/
システムを Ruby 2.0 にアップグレードした後、Rails アプリ/インストールにどのような変更を加える必要がありますか?
Ruby 2.0 がリリースされました。以下を参照してください。
http://www.ruby-lang.org/en/news/2013/02/24/ruby-2-0-0-p0-is-released/
システムを Ruby 2.0 にアップグレードした後、Rails アプリ/インストールにどのような変更を加える必要がありますか?
そこで、アップグレード後に私がしなければならなかったことを次に示します。
Bundler 1.2.x には互換性がありません。まだリリースされていない >= 1.3 にアップグレードするようにというエラーが発生します。したがって、RVM を使用している場合は、2.0 ruby のグローバル gemset にジャンプし、1.3.0 がリリースされるまで 1.3.pre バージョンにアップグレードしてください。また、rubygems api に問題があるようです。私のバンドルのインストールでは、新しい API を使用せず、代わりに古い「インデックスの取得」メソッドを使用していました。これにはもちろん少し時間がかかります。
それを除けば、私のバンドルは問題なくインストールされ、仕様テストの完全なセットはすべて OK で完了しました。レールのロード時間がどれだけ改善されたかを確認するために、いくつかのタイミングテストを行いました。
# Using 1.9.3-p327
RSpec Time: 24.87s
Wall Time : 34.40s
Load Time : 9.53s
# Using 2.0.0-p0
RSpec Time: 22.49s (90.4%)
Wall Time : 26.89s (78.2%)
Load Time : 4.4s (46.2%)
明らかに、rspec のロード時間はすべてのテスト gem で少し重くなりますが、それでもロード時間が 50% 以上短縮され、テスト実行時間が 10% 短縮されるのは良いことです。
rails runner 'puts User.count'
テストのブートストラップをスキップする同様のテストを行いました。
1.9.3 : 7.27s
2.0.0 : 3.36s (46.2%)
繰り返しますが、50% を超えるすばらしい低下です :)
ここでちょっと脱線してしまいました... 新しいおもちゃはそうだと思いますが、私がしなければならなかった唯一の変更は、プレリリースのバンドラーにアップグレードすることだったようです.
これは、さまざまなイテレータの別のテストです
$ rvm 1.9.3-p327,2.0.0-p0 --verbose do ruby test.rb
ruby-1.9.3-p327: ruby 1.9.3p327 (2012-11-10 revision 37606) [i686-linux]
user system total real
for 0.610000 0.000000 0.610000 ( 0.607189)
times 0.580000 0.000000 0.580000 ( 0.587303)
upto 0.590000 0.000000 0.590000 ( 0.585730)
each 0.590000 0.000000 0.590000 ( 0.593494)
ruby-2.0.0-p0: ruby 2.0.0p0 (2013-02-24 revision 39474) [i686-linux]
user system total real
for 0.590000 0.000000 0.590000 ( 0.582743)
times 0.560000 0.000000 0.560000 ( 0.565961)
upto 0.560000 0.000000 0.560000 ( 0.562400)
each 0.570000 0.000000 0.570000 ( 0.573469)
限界、約 4 ~ 5% の増加。
さらに興味深いのは、Object.new を 5 億回呼び出していることです。
1.9.3 : 129.063s
2.0.0 : 97.234s
オブジェクトの作成時間が約 25% 短縮されました。
rails4とruby2.0で新しいプロジェクトを始めました。これが私がやった方法です。
まず、RVMをRuby2.0に設定しました。
次に、バンドラー1.3をインストールしました。
$ gem install bundler
これらのgemと「バンドルインストール」を更新しました。
gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'journey', :git => 'git://github.com/rails/journey.git'
gem 'arel', :git => 'git://github.com/rails/arel.git'
group :assets do
gem 'sass-rails', :git => 'git://github.com/rails/sass-rails.git'
gem 'coffee-rails', :git => 'git://github.com/rails/coffee-rails.git'
end