2010-02-05 64 views
3

我正在做模擬,生成數以千計的結果對象。 每個對象大小大約爲1mb,並且所有結果對象都應該在內存中以便查詢各種特別報告。製作一個結果對象需要1〜2秒的時間。最好的(python)安裝CPU /內存密集型任務

因此,即使我完全使用四核CPU並行執行,也需要5分鐘以上才能完成一次模擬。任務過程對於一個模擬集合需要超過4〜5GB的內存。問題是,我想同時運行更多的模擬設置並更快地完成。

目前,我正在使用c#和ironpython在Windows Vista 64位,四核CPU與8G內存做這個工作。我要訂購一臺新電腦,24GB內存和更好的CPU,最終,我可以購買帶有多重CPU和更多內存的工作站。

所以我的問題是,利用新硬件的最佳方式是什麼? 我認爲下面的組合之一。

  1. IronPython的+ C#上的窗口64
  2. IronPython的+ Linux下C#(一元)64
  3. 的jython +的java在Linux 64

仿真引擎窗口64

  • 的jython +的java是用c#/ java編寫的,我用python編寫報告。 你們認爲哪種組合最好?

    .net和java平臺處理內存消耗任務沒有太大區別嗎? windows和linux沒有區別嗎?

    我有時在我的ubuntu筆記本電腦(32位,2g RAM)上運行我當前的c#+ ironpython代碼,並覺得它與windows .net env在相同規格硬件上相比相當穩定。但我不知道底層硬件何時更好。

    我歡迎任何形式的建議,不管上述選擇。

  • +0

    問問於http://serverfault.com – jmservera 2010-02-05 08:33:02

    回答

    2

    既然你可以安裝所有那些免費的,它聽起來就像你已經在.NET和Java實現的代碼,那麼我建議你基準在四個平臺上的程序(在Windows/Linux *版的Java/.NET) 。

    聽起來好像所有的繁重工作都是在Java/C#中完成的,所以我懷疑Jython和IronPython的相對性能在很大程度上是無關緊要的。

    2

    @Dave是真的,如果你真的關心每個組合的基準和看看。

    個人而言,我會建議你堅持使用的工具集,你是最舒服的,是的Windows,Java和Linux的.NET或有任何隨機組合。在維護和開發軟件方面,您的生產力水平通常會在切換操作系統或虛擬機時獲得任何微小的性能收益。

    相關問題