我刚刚在ruby 1.9.1上运行了我的rails 2.3.8应用程序。要进入控制台,启动get服务器,任何初始化rails的操作,在ruby1.9中花费的时间是ruby1.8.7中的3-4倍。我使用的是ruby版本管理器,所以我可以很容易地在ruby 1.9和ruby 1.8.7之间切换。这种速度差异在生产和开发中都会发生。我想使用1.9,因为一旦一切都在运行,它必须更快,但启动时间太糟糕了,以至于应用程序在Heroku上第一次请求时就超时了。
你知道为什么ruby 1.9会慢3-4倍吗?我怎么也想不出来。
发布于 2010-06-09 04:40:54
尝试使用1.9.2-head而不是1.9.1。它是Rails3的recommended version,所以你可能会有更好的运气。Rails 2.3.8在1.9.2-head上启动非常快,这是我刚刚在本地运行的测试(也安装了Authlogic,顺便说一下)。
如果您使用的是RVM,请键入以下内容:
rvm install 1.9.2-head
rvm use 1.9.2-head编辑:我用同样的应用程序尝试了1.9.1 p378,启动时间约为13秒,而1.9.2-head上的启动时间为5秒。1.9.2-rc1将于本月发布I believe,所以这是个好消息:)
发布于 2010-06-22 02:57:36
这可能是因为ruby1.9使用了gem_prelude (这给了你一个很大的加载路径),而不是普通的rubygem。检查$:--为每个请求搜索一次的长度,这会导致额外的时间
如果您想使用老方法(升级到rubygems的最新版本),请运行ruby --disable-gems
如果你使用的是windows操作系统,那就看看我的faster_require gem吧。
http://github.com/rdp/faster_require
不过我想,既然你提到了这一点,它在1.9Linux中可能会有所帮助。也许吧。
GL!-rp
https://stackoverflow.com/questions/2914037
复制相似问题