2011-11-02 67 views
2

在決定一個合適的MAc Pro配置時,我正在考慮是否值得爲Xeon四路配置提供資金?但是,Ruby能夠利用多核處理器的並行處理能力嗎?在性能方面,它與單核相比會有所不同嗎?Ruby on Rails可以利用多核英特爾處理能力嗎?

+0

當然,如果你有一個集羣設置,你一定會看到性能提升(假設CPU綁定操作)。 jrruby是 – Candide

+0

,MRI不是。 – apneadiving

+1

你甚至可以獲得單核Mac Pro嗎? –

回答

2

您的應用程序可能不會是多線程的,但無論如何這並不重要 - 即使是這樣,即使您的應用程序可能不會滿足cpu飢餓感,也不會對您的開發產生影響機。

做什麼不同的是所有你在開發做其他的東西 - 加載應用程序到RAM,運行腳本,運行測試...

以上核總是很高興,並會幫助你做上面的東西多並行快一點在這裏和那裏,但在這裏你會看到更大的性能提升:

  1. SSD
  2. RAM

在花錢購買CPU之前,花錢購買SSD和內存。

+0

我這麼認爲,但我不敢提SSD或RAM,因爲這個問題可能被認爲太過主觀(我們都知道那裏導致...) –

9

Ruby在某種程度上可以利用的多個核心,但是其他人對開發機器上需要多核的Rails應用程序所說的相當準確 - 沒有必要。雖然您可以使用JRuby在生產環境中獲取多線程Ruby,但它並不會在您的開發框中發揮很大作用,尤其是因爲您可能在開發機器上關閉了緩存等,這會影響性能比在這個問題上拋出更多的硬件要多得多。在本地使用JRuby 做什麼(如果您還在使用它),則會警告您在嘗試部署之前可能無法看到的JRuby特定問題。

之所以這麼說,我找到一個堅實的,功能強大的機器非常有用的所有我做的事情周圍發展:

  • 播放音樂濃度
  • 運行的PostgreSQL/MySQL的測試服務器本地進行測試
  • 帶有本地運行的測試服務器的可能的VMWare Fusion/Parallels
  • 讓瀏覽器運行大量打開的標籤,用於在StackOverflo上進行測試/文檔查詢/提問w^
  • 你會希望你的終端打開幾乎所有的時間
  • 你的文本編輯器

...和和,根據您的設置是什麼。每個人都是不同的,但我認爲可以肯定地說,無論如何,大多數時間你都會有幾件事情要運行。

關於一個好的,功能強大的機器真的很棒的事情是將有一個超級響應系統,所有的事情你會在編碼時做,所以你不覺得你的開發盒會讓你放慢速度。就我個人而言,這是我想考慮的最後一件事。

最近6個月前,我在一個5歲的13英寸MacBook上進行Rails開發,其中包含第一個Core 2 Duo芯片之一,實際上它完全沒問題。我可以完成我的工作,並且機器完成了我所需要的工作。不過,我終於升級到了一臺新機器(酷睿i7處理器和大量內存),而我注意到的主要區別是該機器有多活潑。不,更快的機器不會讓我的打字速度更快,而且我的測試套件運行速度比以前更快(不管信不信),但我獲得的額外計算空間使編碼方式更加舒適。還有一種觀點認爲,如果你爲一種生活編碼,舒適機器的價格佔工資的百分比通常很小,並且爲創造性工作提供了一個很好的環境。

+0

謝謝你的回答。你是否運行VMWare進行跨瀏覽器兼容性測試? (只是好奇) –

+0

這是它的一部分。我也使用它來運行我的開發環境中用於生產服務器的測試服務器。例如,我們有一個具有本地應用程序數據庫的應用程序,但也依賴CAS服務器在整個企業中進行用戶身份驗證。在開發過程中,我的開發機器並沒有打開真正的CAS服務器,我的團隊中有一個本地VM運行測試CAS服務器。這是一個極端的例子,但在我們的例子中,這是在開發過程中最密切地複製生產的最簡單方法,因此可以在部署時避免不必要的意外。 – jefflunt

+1

在這些情況下,RAM對於系統的響應可能最重要。如果由於預算限制而不得不做RAM和CPU決策,我會選擇更多的RAM。但是如果你能做到這一點,這將是值得的。 – jefflunt

相關問題