c#-用于CPU /内存密集型任务的最佳(python)设置

我正在做模拟,生成数千个结果对象.每个对象的大小约为1mb,所有结果对象应存储在内存中以查询各种临时报告.制作一个结果对象需要1到2秒.因此,即使我将我的四核CPU完全用于并行执行,也要花费5分钟以上的时间才能完成一...

我正在做模拟,生成数千个结果对象.
每个对象的大小约为1mb,所有结果对象应存储在内存中以查询各种临时报告.制作一个结果对象需要1到2秒.

因此,即使我将我的四核CPU完全用于并行执行,也要花费5分钟以上的时间才能完成一次仿真.一个仿真集的任务过程需要占用4?5 GB以上的内存.问题是,我想同时运行更多的仿真集并更快地完成它.

目前,我正在Windows vista64(具有8g内存的四核cpu)上使用c#和ironpython来完成此工作.我要订购一台新计算机,具有更好的CPU的24 GB内存,最终,我可能会购买具有多CPU和更多内存的工作站.

所以我的问题是,利用新硬件的最佳方法是什么?
我考虑以下组合之一.

> Windows 64上的IronPython C#
> Linux 64上的ironpython c#(mono)
> Windows 64上的Jython Java
> 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的相对性能在很大程度上无关紧要.

本文标题为:c#-用于CPU /内存密集型任务的最佳(python)设置

基础教程推荐