首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为Ruby 2.0配置Rails

为Ruby 2.0配置Rails
EN

Stack Overflow用户
提问于 2013-02-25 03:40:05
回答 2查看 6.2K关注 0票数 16

Ruby 2.0已经发布,请参阅:

http://www.ruby-lang.org/en/news/2013/02/24/ruby-2-0-0-p0-is-released/

在将我的系统升级到Ruby2.0之后,我应该对我的Rails应用程序/安装进行哪些更改?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-25 04:20:44

所以这是我在升级后必须做的事情。

>= 1.2.x不兼容,出现升级到Bundler 1.3的错误,Bundler 1.3尚未发布。因此,如果你使用的是RVM,就跳转到2.0 ruby的全局gemset,并升级到1.3.pre版本,直到1.3.0发布。而且,rubygems api似乎也有一些问题。我的包安装没有使用新的API,而是使用旧的“fetch index”方法,这当然需要更长一点的时间。

除此之外,我的包确实安装得很干净,并且我的全套规范测试都完成了,一切正常。我做了一些计时测试,看看rails的加载时间有多快。

代码语言:javascript
复制
# 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%)

显然,对于所有的测试gem,rspec的加载时间稍微重了一点,但是加载时间减少了50%以上,测试运行时间减少了10%,这是很好的。

我使用rails runner 'puts User.count'做了一个类似的测试,它将跳过测试引导。

代码语言:javascript
复制
1.9.3 : 7.27s
2.0.0 : 3.36s (46.2%)

再一次,漂亮的降幅超过50% :)

有点脱轨了……我猜新的玩具会做到这一点,但似乎我唯一要做的改变就是升级到预发布的捆绑包。

下面是不同迭代器的另一个测试

代码语言:javascript
复制
$ 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亿次

代码语言:javascript
复制
1.9.3 : 129.063s
2.0.0 :  97.234s

对象创建时间减少了大约25%。

票数 16
EN

Stack Overflow用户

发布于 2013-03-01 17:49:13

我开始了一个使用Rails4和ruby2.0的新项目。我就是这么做的。

首先,我将RVM设置为Ruby2.0。

然后安装bundler 1.3:

代码语言:javascript
复制
$ gem install bundler

更新了这些gem和'bundle install‘。

代码语言:javascript
复制
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
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15055783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档