I am doing a simulation that generates thousands of result objects. Each object size is about 1 mb, and all result objects must be in memory for the query for various special reports. It takes 1 ~ 2 seconds to create one result object.
So it takes more than 5 minutes to get one simulator, although I fully use my quad-core processor with parallel execution. And the task process takes more than 4 ~ 5 GB of memory for one set of simulators. The problem is that I want to run more simulations at the same time and quickly do it.
I am currently doing this work using C # and ironpython on windows vista64, a quad-core processor with 8g memory. I'm going to order a new computer, 24 GB of memory with a better processor and, ultimately, I can buy a workstation with several processors and more memories.
So my question is: what's the best way to use new equipment? I am considering one of the following combinations.
- ironpython + C # on windows 64
- ironpython + C # (mono) on linux 64
- jython + java on windows 64
- jython + java on linux 64
The modeling engine is written in C # / java, and I use python to create reports. Which combination do you think is the best?
Is there a big difference between a .net and a java platform for working with a memory-consuming task? Does the difference between windows and Linux not exist?
# + ironpython ubuntu (32bit, 2g ram) , Windows.net env . , .
, .