[英]Rake Test Very Slow in Windows
為什么Ruby和Ruby on Rails(1.8.6 One Click Installer,本地數據庫)在Windows上如此邋slow?
然而,當我彈出一個慢得多的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安裝..
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.