The decision to move to C++ is non-trivial. Your code will be much faster in C++, but your development cycle will be slower. The differential productivity gains will depend on the ratio of runs per model versus models per year. If you tend to develop a new model only occasionally and do extensive studies with each model (i.e., lots of runs with different parameter values, data inputs, etc.), then the CPU time/run advantage of C++ will win. If you tend to try lots of models, doing only a few runs with each model before changing the code, then Mathematica will offer a better developer-time/model advantage.Have you (or anyone) looked at Mathcode C++? At $3,800, its not cheap, but then your time isn't cheap either. It might be a way to leverage your familiarity with Mathematica (and previously developed code) as part of a C++ development process.I know everyone always rolls their eyes when someone says buy tech++ coming out in t+delta, but you might consider waiting for dual quadcore PCs to be more common. An eightcore system would surely be a nice performance boost, assuming you take the time to learn the finer points of multithreaded code (or buy Mathematica Personal Grid Edition). And if you want a real challenge and don't mind spending lots of time with your fingers in the silicon, then look at running your MC on a GPU (
http://www.gpgpu.org/ )You can save money, save development time, or save run time -- pick any 2.