2011-10-29 125 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 
相关问题