在Ruby 1.8.7上,新鮮的Rails 2.3.5環境在4.325秒內加載,但在Ruby 1.9.1p378 上需要15.701s - 有沒有人有任何想法?爲什麼Rails需要15+秒才能加載Ruby 1.9?
這是在運行Ubuntu的32位單核筆記本電腦上。
在Ruby 1.8.7上,新鮮的Rails 2.3.5環境在4.325秒內加載,但在Ruby 1.9.1p378 上需要15.701s - 有沒有人有任何想法?爲什麼Rails需要15+秒才能加載Ruby 1.9?
這是在運行Ubuntu的32位單核筆記本電腦上。
很可能你有一些具體問題。我有相同的設置32位Ubuntu,Rails 2.3.5,我沒有任何問題與ruby1.9.1p378都沒有與ruby1.9.1p243。
您使用哪個應用程序服務器? Mongrel,Passanger ...你可以嘗試一個不同於當前的並檢查其啓動速度。
奇怪。實際上,我使用的應用程序服務器並不重要,我有與腳本/ runner相同的問題: - / – 2010-04-17 19:59:59
我看到了和你一樣的問題。在配備SSD的機器上,對於一個全新的Rails 2.3.5項目,它是0.7s vs 1.2s,REE vs. 1.9.1。在一個更大的鐵路項目中,差異更加明顯:20s和10s之間。
這讓我懷疑這是一個I/O相關的問題。與修補要求和負載運行:
module Kernel
alias :load_without_tracing :load
alias :require_without_tracing :require
def load(filename, wrap=false)
puts "loading #{filename}"
load_without_tracing(filename, wrap)
end
def require(string)
puts "requiring #{string}"
require_without_tracing(string)
end
end
說,這是加載代碼很多。這可能是我們所看到的。如果1.9.1對文本文件的加載情況表示理解(字符串中的編碼可能是候選),這可以解釋我們所看到的加載時間的差異。
爲什麼它會是你的機器上的3以及我的< 2的因素,然而我只能猜測。也許像這樣的場景是向MRI開發郵件列表報告的好候選者。
您可以通過創建一個新的rails應用程序並運行來嘗試這個基準:time script/runner「puts」已完成加載「」 – 2010-04-15 17:03:17