Which is the best CPU for backtests?
I just asked myself that question as its been a few days since I started backtesting with tickdata from Dukascopy. Even short runs take a lot of time… Optimizations of a few parameters can take weeks. I just aborted a optimization run that was supposed to take 1800 hours (that is 11 weeks roughly).
So, naturally I started thinking that maybe it is time that my 3 year old Intel Q6600 is replaced by a faster part. I must say that it have performed absolutely excellent, especially since I’ve overclocked it to 3GHz all the time I’ve had it. It is a quad core CPU, but sadly MT4 is a single threaded application, so only one of them is used at a time. I usually solve this by running four instances of the same test with one of the parameters range cut in four, but it is a hassle. MT5 solves all this as it not only is able to use all available cores in the host system it is able to out-source processing to agents running on other computers. But reality right now is that MT4 still is the main platform, and it probably will remain so for at least another 6-12 months.
I’ve googled for benchmarks, but I can’t find any. Sure it is a niche, but I really expected at least some results for MT4. I thought surely someone had bought a new computer sometime and tested it by running the same backtest on both. I know I would, but it seems I’m alone in this. Can’t find any benchmarks for either MT4 or MT5.
My thinking is that I want both fast single threaded performance (for current MT4 backtests) and as many cores as is economically justifiable for multi threaded applications (IE MT5 backtests). After reading up on current CPUs everything points to the very expensive i7 980X. It is a hex core CPU of 3.33 GHz stock, and it seems easy enough to overclock to 4+ GHz. But it is way over my budget, I can’t justify the price regardless of performance. I feel much more comfortable buying what seems to be good value CPUs and if possible overclock them, I have been doing that for 15 years now. (I started with a P133 @ 166 MHz, followed up with a c266 @ 400Mhz, dual c366 @ 500 MHz and so on. I like it, it is a bit of a challenge and very geeky, but unarguably good value). Intel’s’ lower cost part with the same architecture (the i7 970) is still too expensive and for prices in that range I would still get the 980X I think.
So, that leaves two CPUs in the Intel camp and surprisingly a rather attractive one from AMD (I haven’t had a AMD since the Athlon XP Thoroughbreds and Bartons were the greatest things available as Intel pushed the Pentium 4 at the time). The Intels is the i7 930 (quad core part at 2.8GHz stock with some headroom for overclock) and the i5 series (don’t know exactly which one yet, probably the cheapest). The i5s based on Clarksdale architechture are only dual core CPUs, but they are manufactured using a 32 nm process (like the 980X) and they overclock amazingly as a result. They would probably be the best soulution to get single threaded MT4 backtests a good performance increase.
The AMD is the Phenom II X6 1090T which packs six cores running at 3.2 GHz for slightly less than the cost of a i7 930! On paper this look awesome. But this is where the benchmarks are crucial. It could very well be that the i7 is just so much more effective in this particular application(s) that the quad core i7 with lower clock rate is a better buy. Or even that the AMD X6 is better that the 980X (unlikely, but the price is a third, so… ).
I’ll hold off buying anything for now. Perhaps I can find friends with the different CPUs (surely not the 980X, but the others) and force them to run some tests for me. I’ll be back with the results if this is possible.