15
我很新的整個JRuby世界。我在一個相當大的測試套件上使用RSpec。我希望能夠頻繁運行規格,但JVM需要很長時間才能啓動它,這已經成爲一種真正的時間浪費。更快RSpec與JRuby
有沒有辦法讓JVM保持運行?或者使用JRuby讓規格運行更快的方法?
我很新的整個JRuby世界。我在一個相當大的測試套件上使用RSpec。我希望能夠頻繁運行規格,但JVM需要很長時間才能啓動它,這已經成爲一種真正的時間浪費。更快RSpec與JRuby
有沒有辦法讓JVM保持運行?或者使用JRuby讓規格運行更快的方法?
有兩兩件事你可以看看:
運行一個nailgun服務器併發送規範運行它。 jruby --ng-server &
然後jruby --ng -S spec
或jruby --ng -S rake
使用spork。 http://www.ruby-forum.com/topic/190163我聽說Roger Pack有一個可能與JRuby一起使用的版本。 http://github.com/rdp/spork
如果我的規格使用釘槍服務器,大約需要23秒,只需使用rake規格運行它們需要8秒。我一定做錯了什麼。此外,我也無法讓spork工作。給出了關於Fork在我的平臺上不受支持的錯誤。儘管我還沒有試過Roger Pack的版本。 – jacklin 2011-11-08 19:50:39
嘗試幾次相同的任務。我的初始加載時間爲30秒,僅用於運行'jruby --ng -S gem list',但在10次運行後接近<1 s。 JIT編譯器和操作系統緩存/緩衝區應該開始加快速度(尤其是那些不包含ssds的)。另外請確保使用--server JVM以及其他標準GC標誌。觀察內存使用情況,CPU和I/O來確定瓶頸(如果有的話)。 HTH。 – Barry 2011-11-14 19:03:51
同意,spork和nailgun一起在我的項目中帶來了我的單一測試時間從30秒到5秒。我有一個方便的助手腳本來運行帶spork和nailgun的rspec,只有當他們正在運行時,如果您感興趣:http://ylan.segal-family.com/blog/2012/10/02/faster-rspec- jruby/ – 2012-10-03 04:11:05