簡體   English   中英

Rails在ruby 1.9.1上初始化非常慢

[英]Rails initializes extremely slow on ruby 1.9.1

我剛剛在ruby 1.9.1上運行了我的rails 2.3.8 app。 要進入控制台,啟動網絡服務器,任何初始化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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM