2011-10-29 70 views
1

當我只用spork運行我的規格,我得到相當顯著的性能提升爲什麼我的規格在使用Guard時非常慢?

$ time rspec . 
..... 

Finished in 11.39 seconds 
5 examples, 0 failures 

real 0m11.780s 
user 0m10.318s 
sys  0m1.180s 

,並用叉勺

$ time rspec . --drb 
..... 

Finished in 107.24 seconds 
5 examples, 0 failures 

real 0m1.968s 
user 0m0.488s 
sys  0m0.095s 

這實在是真棒。但是,一旦我把防守放在第一位,看起來一切都如此緩慢,就好像根本沒有分叉。

$ guard 
Guard is now watching at '/Users/darth/projects/scvrush' 
Starting Spork for RSpec 
Using RSpec 
Preloading Rails environment 
Loading Spork.prefork block... 
Spork is ready and listening on 8989! 
Spork server for RSpec successfully started 
Guard::RSpec is running, with RSpec 2! 
Running all specs 
..... 

Finished in 10.77 seconds 
5 examples, 0 failures 

即使我不看Finished in 10.77 seconds做,我可以指望至少6-8秒每次嘗試運行規範的時候,甚至只是一個模型。

我做了一些minor edits to the Guardfile,如:wait => 120,但這應該只會影響guard啓動時。

+0

我從未使用過後衛,但如果你路過'--drb'在使用保護?你是否在你的'.rspec'文件中加了'--drb'? – d11wtq

+0

@ d11wtq有一個guard-spork gem,它告訴Guard開始一個spork的實例,然後使用它的所有規範,所以它應該在箱子外面工作......或者我失去了一些東西 –

回答

2

你要通過對rspec的的--drb選項在Guardfile,像這樣:

guard 'rspec', :version => 2, :cli => '--drb' do 
... 
end 
相關問題