论坛首页 编程语言技术论坛

用rails 3的有没有想过退回到2.3的

浏览 18215 次
精华帖 (1) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-06-27  
前面跑rails3的就是用ruby 1.9.2
ruby -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.7.0

关于ruby 1.9.3提速的(http://rhnh.net/2011/05/28/speeding-up-rails-startup-time)之前试过,部分gem 不兼容,project跑不起来没办法对比

btw,有了rvm,换ruby版本很轻松
0 请登录后投票
   发表时间:2011-06-27  
orcl_zhang 写道
rails很多地方做的很不好。比如关于form,routes等,太多的语法糖,同一个东西写法太多,过于花哨,不实用。带来的是学习上的成本提高,而没有任何一点好处。

让你的代码更DRY和提供漂亮的API接口难道不实用?不知道你指的实用是什么。
3 请登录后投票
   发表时间:2011-06-27  
Rails的学习曲线是很高,而且实际上用rails能节省的开发时间和对web的了解成正比。Web知识丰富的学起来快用起来也觉得自然,否则就觉得学起来成本太高了。

Rails的开发效率很高,但是别指望一个新手可以很快上手。
0 请登录后投票
   发表时间:2011-06-27  
每次rails新版本总是有很多让人兴奋的东西出现。用上了rails3从来没有想过rails2。rails2到3是这样,这次的3.1也一样。有时候,很多东西比性能重要。
0 请登录后投票
   发表时间:2011-06-28   最后修改:2011-06-28
Hooopo 写道
rainchen 写道
的确是慢了,刚好有个项目从2.3.9升级到3.0.5的,简单对比下db和routes的:

for 2.3.9:
  development:
    time rake db:version
      real	0m24.219s
      user	0m10.152s
      sys	0m2.971s

    time rake routes
      real	0m19.710s
      user	0m10.089s
      sys	0m2.713s
  
  production:
    time rake db:version RAILS_ENV=production
      real	0m20.110s
      user	0m12.217s
      sys	0m2.592s
    
    time rake routes RAILS_ENV=production
      real	0m19.384s
      user	0m12.109s
      sys	0m2.600s


for 3.0.5:
  development:
    time rake db:version
      real	0m41.514s
      user	0m26.641s
      sys	0m3.403s

    time rake routes
      real	0m34.094s
      user	0m27.760s
      sys	0m3.100s

  production:
    time rake db:version RAILS_ENV=production
      real	0m26.630s
      user	0m20.295s
      sys	0m2.643s
    
    time rake routes RAILS_ENV=production
      real	0m24.340s
      user	0m21.401s
      sys	0m2.547s



在development上rails3比2慢了将近一倍
但比较让人满意的是production时区别不大
但在做开发时随便跑个rails、rake命令都要30-40秒以上实在影响情绪

肯定是不会退回去的,rails3好的地方更多,只是希望再后面的版本性能能提上来。
另外个人不大喜欢coffeescript这种东西。


这个时间大部分都是ruby的加载文件所花的时间,和rails性能没多少关系。当然这个会影响开发体验。
ruby1.9.2的require性能问题已经解决了:http://www.rubyinside.com/ruby-1-9-3-faster-loading-times-require-4927.html

对于新建项目来说,退已经成了一个不太容易的事情。rails(包括其他很多gems)的带病升级是一贯的优良传统,新的更新和对旧bug的修改会出现在新的版本里。
如果进3.1的话,至少这几个安全方面的改进和HTTP Streaming,Rack::Cache ,Rack::ConditionalGet.就已经值得进。

ActiveRecord3.1 对于association chain的改变,特别是has_one和belongs_to,更像是给3.2版本作的准备工作。但是现在肯定有一批依赖于association chain的东西会被影响,能够马上想到的一个例子比如will_paginate.

mountable的engine在实用上我用得很不舒服,但是在做了一些hack工作之后还是能够出来可以接受的效果。只是在mount之后必须要用main_app.xxx_path这样的方式来找route helper我个人觉得很多余;另外在engine内调用route也很难受,因为不可能知道自己会被以什么别名来mount。

sprockets作为一个第三方的包被作为杀手级应用引用到rails3.1里,结果sprockets2的最新一个版本2.0.0.beta.11的一个看起来很有道理的改变会让rails-3.1.0.rc4里的rake assets:precompile直接不工作。
这个改变是把一个getter里原来直接返回一个数组的方式改成返回数组的dup:
2.0.0.beta.10里的
    def paths
      @trail.paths#.dup
    end

2.0.0.beta.11里的
    def paths
      @trail.paths.dup
    end

恶啊~总之~现在类似的情况还有一些~
但是不管怎么说,2.3和3.1之间还有一个3.0 .我想说,所谓慢通常并不是一个框架单方面的问题,框架通常是把原有的问题放大。当然,这事具体问题具体分析,各家有各家的经。
1 请登录后投票
   发表时间:2011-06-28  
只用最新的,不回更旧的,
PS:
LZ其实一直发rails 不好用的信息,,可能与你现在推广的啥有关的,只是个人想法...

PSPS
我觉得rails很好,所以一直用,就这么简单,我自认为自己没能力改变rails  的速度什么的,所以,只能看大牛们努力了
0 请登录后投票
   发表时间:2011-06-28  
花花公子 写道
正在用rails3的各位,你们有没有被忽悠的感觉?

忽悠倒没觉得,rails3带来的新特性让人一震,性能的话,应该还在调优,期待后续版本
0 请登录后投票
   发表时间:2011-06-28   最后修改:2011-06-28
之前用脚手架测试,rails3 + ruby 1.9.2是最慢的,rails3 + ree 1.8.7 是最快的。数据丟了,感兴趣的可以测试下。
0 请登录后投票
   发表时间:2011-06-28  
根据RAILS3更新太快了  哎...
0 请登录后投票
   发表时间:2011-06-28  
如果在开发模式下太慢, 已经有解决方案了。

gem install rails-dev-boost


另外,我没有用active-record,自己感觉rails 3速度还可以, 在生产模式下,不过没有测试数据来证明。
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics