簡體   English   中英

cpu /內存密集型任務的最佳(python)設置

[英]best (python) setup for cpu / memory intensive task

我正在進行模擬,生成數以千計的結果對象。 每個對象大小約為1mb,所有結果對象都應該在內存中,以便查詢各種臨時報告。 制作一個結果對象需要1~2秒。

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

目前,我正在使用Windows vista64上的c#和ironpython,8g內存的四核CPU。 我要訂購一台新計算機,24 gb內存和更好的CPU,最終,我可能會購買帶有多個cpu和更多內存的工作站。

所以我的問題是,使用新硬件的最佳方法是什么? 我考慮以下組合之一。

  1. Windows 64上的ironpython + c#
  2. linux 64上的ironpython + c#(mono)
  3. Windows 64上的jython + java
  4. linux 64上的jython + java

模擬引擎是用c#/ java編寫的,我使用python來編寫報告。 你們認為哪種組合最好?

.net和java平台之間沒有很大的區別來處理內存消耗任務嗎? Windows和Linux之間沒有區別嗎?

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

無論上述選擇如何,我都歡迎任何建議。

既然你可以免費安裝所有這些,聽起來你已經有了.Net和Java實現的代碼,那么我建議你在所有四個平台(windows / linux * java / .net)上對程序進行基准測試。

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

@Dave是現貨,如果你真的關心基准每個組合並看到。

就個人而言,我建議你堅持使用你最熟悉的工具集,無論是Windows,Java,Linux,.Net還是隨機組合。 維護和開發軟件的生產力水平通常勝過切換操作系統或虛擬機所帶來的任何微小的性能提升。

暫無
暫無

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

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