cpu/内存密集型TA的最佳(python)设置

2024-06-26 11:24:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我在做模拟,生成数千个结果对象。 每个对象大小约为1mb,所有结果对象都应该在内存中,以便查询各种特殊报告。生成一个结果对象需要1~2秒。在

因此,即使我完全使用四核cpu进行并行执行,也需要5分钟以上才能完成一次模拟。任务过程中一个模拟集需要4~5gb以上的内存。问题是,我想同时运行更多的模拟集,并且更快地完成。在

目前,我正在WindowsVista64上使用c和ironpython来完成这项工作,这是一个四核cpu,内存为8g。我要订购一台新电脑,24GB内存,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相比似乎相当稳定。但我不知道什么时候底层硬件会更好。在

我欢迎任何一种建议,不管以上的选择。在


Tags: 对象内存net硬件过程linuxwindows报告
2条回答

既然您可以免费安装所有这些程序,而且听起来您已经在.Net和Java中实现了这些代码,那么我建议您在所有四种平台(windows/linux*Java/.Net)上对该程序进行基准测试。在

听起来所有繁重的工作都是在Java/C中完成的,因此我怀疑Jython与IronPython的相对性能在很大程度上是无关紧要的。在

@Dave很有看头,如果你真的关心每一个组合的基准,看看。在

就我个人而言,我建议你坚持使用你最熟悉的工具集,无论是Windows、Java、Linux、.Net或它们的任意组合。您在维护和开发软件方面的生产力水平通常胜过您从切换操作系统或虚拟机中获得的任何微小的性能增益。在

相关问题 更多 >