2014-02-13 27 views
0

如何打印每個文件需要多長時間?啓動Rails 2項目時每個文件的打印加載時間

我正在考慮猴子補丁load或Rails中的一些加載方法,但我對Rails 2內部的東西瞭解不多。

我希望這樣的輸出:

config/environment.rb ---> 60 s 
config/development.rb ---> 30 s 
config/initializers/some.rb ---> 20 s 

任何出發點是真正的讚賞。

更新

我測量時間:

from = Time.now; p from.to_s + '----- env.rb' 
to = Time.now - from; p "env.rb ---" + to.to_s 

中的boot.rb文件更改env.rbboot.rb,這些都是我的結果:

"Thu Feb 13 18:54:17 +0000 2014----- boot.rb" 
"boot.rb ---0.001493" 
"boot.rb ---0.941835" 
Loading development environment (Rails 2.3.18) 
"Thu Feb 13 18:54:19 +0000 2014----- env.rb" 
"env.rb ---0.001378" 
"Thu Feb 13 18:54:19 +0000 2014----- boot.rb" 
"boot.rb ---0.001712" 
"boot.rb ---0.02536" 
"env.rb ---67.272745" 
"env.rb ---70.847089" 

我不知道爲什麼我我正在調用config/boot兩次。從我看到的大部分時間都用在environment.rb中,但我刪除了代碼和時間保持不變,所以它應該與其他事情有關。

這等事不是捆綁的寶石,因爲我有:

from = Time.now; p from.to_s + '----- env.rb' 
# Be sure to restart your web server when you modify this file. 
# 
# 
require 'rubygems' 
require "bundler" 
Bundler.setup 


to = Time.now - from; p "env.rb ---" + to.to_s 

這是印刷:

"env.rb ---0.001378" 
+0

使用ruby分析器像http://ruby-prof.rubyforge.org/ – phoet

+0

謝謝,這些是我的結果https://gist.github.com/juanpastas/78772b34d299fd20b474。但我不確定如何從那裏改進。 – juanpastas

+0

我使用過'ruby /home/vagrant/.rvm/gems/ruby-1.8.7-p352/gems/ruby-prof-0.13.1/bin/ruby-prof config/environment.rb' – juanpastas

回答

0

原來,大部分時間都在加載文件中度過的,我開始一個新的Rails 2.3項目與更大的應用程序的一部分模型,時間從一分多鐘減少到約5秒鐘。