Rails在ruby 1.9.1上初始化非常慢

我刚刚在ruby 1.9.1上运行了我的rails 2.3.8 app。 要进入控制台,启动Web服务器,任何初始化rails的东西,在ruby 1.9中比在ruby 1.8.7中长3-4倍。 我正在使用ruby版本管理器,因此我可以轻松地在ruby 1.9和ruby 1.8.7之间切换。 速度差异发生在生产和开发中。 我想使用1.9,因为一旦一切运行它必须更快,但是启动时间非常糟糕,应用程序在第一次请求时在Heroku上超时。

任何想法为什么ruby 1.9会慢3-4倍? 我无法理解我的生活。

尝试使用1.9.2-head而不是1.9.1。 这是Rails 3的推荐版本 ,所以你可能会有更好的运气。 Rails 2.3.8在我刚刚在本地运行的测试中以1.9.2开头很快启动(也安装了Authlogic,顺便说一下)。

如果您使用的是RVM ,请键入以下内容:

rvm install 1.9.2-head rvm use 1.9.2-head 

编辑:我尝试使用相同的应用程序1.9.1 p378,启动时间约为13秒,而1.9.2头则为5秒。 1.9.2-rc1本月即将发布我相信 ,所以这是个好消息:)

这可能是因为ruby 1.9使用gem_prelude(它给你一个很大的加载路径)而不是普通的rubygems。 检查$: – 每次需要搜索一次,导致额外的时间

如果你想要它的旧方式,(升级到最新版本的rubygems和)运行ruby –disable-gems

如果您在Windows上,请查看我的faster_require gem。

http://github.com/rdp/faster_require

虽然我想,现在你提到它,它可能有助于1.9 Linux。 也许。

GL! -rp