簡體   English   中英

Windows中的耙測試非常慢

[英]Rake Test Very Slow in Windows

為什么Ruby和Ruby on Rails(1.8.6 One Click Installer,本地數據庫)在Windows上如此邋slow?

  • ruby腳本/服務器 - 30秒
  • 耙子測試 - 45秒
  • 等等

然而,當我彈出一個慢得多的linux盒子時,它幾乎是瞬間完成的。 我已經檢查了所有內容 - 沒有重要的CPU進程在運行,沒有網絡問題......等等。

哎呀,我很高興只有一個冗長的輸出,至少告訴我它在哪里崩潰。 有什么建議?

一般來說,Ruby的MRI解釋器並沒有針對窗口速度進行優化。 您可能還在其他計算機上的Windows vs生產模式下以開發模式運行它。 Rails在開發模式下運行得慢得多,因為它會在每個請求上重新加載所有類。

1.8.6是一個非常古老的紅寶石版本。 大約3年前發布。 您應該強烈考慮升級到1.9(或至少1.8.7)。 或者切換到JRuby。 所有這些選項都可能會帶來顯着的性能提升。

1.8.7應與1.8.6完全兼容。 1.9有一個全新的解釋器,運行速度提高了2.5倍(盡管它偶爾會在窗口上崩潰)。 JRuby可能是您理想的解決方案,因為您可以在1.8或1.9的兼容性中運行它並且它非常穩定,但它不支持具有C擴展的gem並且需要不同的數據庫適配器。

最后一個選擇是嘗試使用CentOS或其他Linux發行版在VMWare中運行Rails。

原因是Windows中的文件統計速度非常慢,並且,由於Ruby是在Linux上編寫的(並且針對Linux進行了優化),因此沒有太多工作可以使其更快。

使用rubyinstaller.org(1.8.6或1.9.x)可以使它更快 - 我推薦1.8.6,因為1.9自身有一些減速。

如果你想要變得非常積極,你可以嘗試我的faster_gem_script gem,它試圖緩存基於需求的查找,從而加快速度。 使用划痕版本的紅寶石做,但:)

不幸的是,Jruby也因其極快的查找而聞名。 希望有一天這種情況會改變。 在那之前,我的fast_gem_script和faster_require是我知道嘗試獲得一些加速的唯一方法。

對於加速,你可以嘗試我的裝載機調速器上部(幫助導軌在打瞌睡中跑得更快): https//github.com/rdp/faster_require也是checkout spork,它在打瞌睡中起作用,jruby也很好用。

-rp

更新:感謝(部分)對Luis Lavena的一些非常出色的Fenix工作,Ruby 1.9.3-p327在Windows上快得多。 rake曾經花了110多秒在1.9.3-p125上執行,現在在p327上需要大約20秒。 Rails最終可以在Windows上使用!!

使用RubyInstaller安裝..

我喜歡這種方法:

慢鐵棧

在我的情況下它

finisher_hook: 22.463 sec

那是罪魁禍首

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM