内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用
在将我的系统升级到Ruby2.0之后,我应该对Rails应用程序/安装进行哪些更改?
所以这是升级后我必须做的事情。
我的捆绑软件确实安装得很干净,我的全套规格测试都完成了。我做了一些时间测试,看看加载时间有多少改进。
# 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%)
这是对不同迭代器的另一个测试
$ 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%。
我用rails 4和ruby 2.0开始了一个新项目。这是我做到的。
首先,我将RVM设置为Ruby 2.0。
然后安装bundler1.3:
$ gem install bundler
更新了这些gem和“bundle install”。
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