Sign in with
Sign up | Sign in
Your question
Closed

Fastest current CPU for execution speed on a single-core

Last response: in CPUs
Share
October 3, 2011 11:46:54 AM

Hi,

For work I need to get hold of a new desktop for running un-threaded Matlab and C++ simulations, lots of heavy float number-crunching. As the simulations are not threaded I'm after maximum speed on a single core, with price a small consideration.

As an example, on older machines, the simulations run 5-10% faster on a 3.16 GHz E8500 Core2Duo than on a 2.93 GHz i7-870 even though the i7 is running DDR3@1333 vs DDR2@800.

Because this is a work machine, unfortunately o/c-ing is out of the question, to tech guys here take a dim view of that. Idiots! So it's stock only.

Given that sandybridge is surely the quickest processor, I'm guessing that single-core execution is pretty much going to follow clock-speed (and/or turbo-boost speed), with a small influence of L3 cache. So probably an i7-2600@3.4, i5-2500@3.3 and i3-2120@3.3 are going to be pretty close making the i3 best value?

Any major performance improvements to be had from sandybridge-e? I didn't think so in the TH review of i7-3960X.

Am I completely missing something obvious?

Your help is appreciated.
a b à CPUs
October 3, 2011 11:50:54 AM

You'll probably want the fastest stock clocked Sandy Bridge. Can you run multiple simulations at a time (multiple instances of MatLab) so the extra cores aren't wasted?
a b à CPUs
October 3, 2011 12:38:32 PM

Since over-clocking is out of the question the i7 at 3.4GHz is the fastest i believe, and with the turbo on its good for 3.8GHz.

----------------
EDIT: Ignore this i dont think im right, but ill leave it out there anyway :) 
I'm not 100% but i think im right in thinking for single threaded application the "professional" series i7's are faster than the SandyBridge? i7-965 Extreme for example, those socket 1366 CPU's.
Related resources
October 3, 2011 1:47:15 PM

FinneousPJ said:
You'll probably want the fastest stock clocked Sandy Bridge. Can you run multiple simulations at a time (multiple instances of MatLab) so the extra cores aren't wasted?


Yeah, been doing that on occasion with the i7-870, but sometimes I can't easily split up the simulations so they are wasted.

Still looks like the i7-2600 would be the best one. Thanks for confirming, I wasn't sure if I was missing something.


a c 446 à CPUs
October 3, 2011 9:08:43 PM

While the i7-2600 is faster than a i5-2500 by 100MHz, I don't think the price difference is worth it for the extra 100MHz. If you have other applications that can take advantage of Hyper Threading, then it would probably be worth it.
a c 162 à CPUs
October 3, 2011 11:35:36 PM

The E8500 being faster than the i7 870 is weird since the 870 is significantly better clock for clock than the older core architecture. The sandy bridge architecture is better than the Nehalem architecture, but if the Core architecture is performing about evenly with the Nehalem architecture Sandy Bridge might not gain you much.

As said before, the 2600 will give you an extra 100MHz over the 2500 turbo boosting up to 3.8 GHz and 3.7 GHz respectively, the 2390T would be the next best option turboing up to 3.5 GHz for single threaded loads.


Also, my experiences with matlab are that often times you can get a much bigger performance boost out of unrolling some for loops and inlining some functions to avoid the additional overhead of function calls, that may save you significantly more time than a slightly faster CPU.
October 4, 2011 7:50:49 AM

hunter315 said:

Also, my experiences with matlab are that often times you can get a much bigger performance boost out of unrolling some for loops and inlining some functions to avoid the additional overhead of function calls, that may save you significantly more time than a slightly faster CPU.


Indeed. Throwing more computing power at poorly optimised code is a foolish pastime!

In actual fact for the simulations I'm doing Matlab is simply a harness for repeatedly calling an executable that runs and dumps data to file that matlab reads in and processes. All the code is tolerably efficient (I don't claim to be the greatest programmer in the world but code optimisation I can do is always top of my mind). The largest gain on the new machine, dwarfing CPU gains, will be the SSD. But still, if you're going to get a new machine make sure the CPU is a good one. I think the 2500 looks like the best value, if only a single core is being used it will happily sit with the turbo boost on continuously I guess. Big gain over an i3.

I don't understand the E8500 actually being faster than the i7, I thought the newer architecture would at least make them equal. With the simulations being disk-intensive it may be that the E8500 has a slightly faster hard drive. I can't do anything about it so I haven't even bothered looking....

Thanks for the help everyone.
a c 162 à CPUs
October 5, 2011 12:38:37 AM

Given that we now know more about your code, what are the timings on the RAM kits in the two systems? DDR2 ram has much lower timings than DDR3 ram, but its lower clock speeds generally help to even it out but it is possible that the DDR2 you have has low timings relative to normal, and the DDR3 has higher timings relative to normal, since you are likely playing with data too big to hold entirely in the cache you are very memory intensive and when you are going for lots of small packets repeatly and not a large packet once in a while memory timings become more important. You might want to see if you can find a similar system running lower timing memory and compare the performance to see if it improves at all.
!