[Simon Moo] ” I have also noticed that the Xeon CPU is maxing out at 90% across all 8 cores but the i7 doesn’t even get over 13% across all 8 cores. “
One immediate observation: the Xeon E3-1240 only has four cores. Each core can do hyperthreading, which makes it appear to have eight cores, but that doesn’t always translate to additional performance. So, first thing, try setting your BIOS to disable hyperthreading and see what happens.
Where hyperthreading can hurt you is on memory intensive processing. Hyperthreading helps when there’s a balanced need for memory access… each core can swap threads while a read operation would otherwise result in a pipeline stall, basically filling in that lost time with useful work. However, when you’re memory intensive, too many memory access operations stack up — you’re effectively doubling the load on the memory bus (real 8-core Intels probably have 3 or 4 memory channels, rather than the 2 channels on these) and halving the per-[virtual]processor L1, L2, and L3 cache. Yeah, that’s worst case… so sometimes the hyperthreading helps. Sometimes, not so much. No idea on this specific case, but from what you’re saying it sounds like you’re hitting some bottleneck that’s not really computational, given how fast that very similar i7 gets it done.
Otherwise, it’s hard to explain the difference. These are practically the same chip. They’re both Sandy Bridge, both support the same kind of memory, both 32nm parts. The i7 clocks 100MHz faster, both in normal and turbo mode, but that’s not faster enough to make significant difference. Any chance that i7 system is overclocked? Is it set for hyperthreading or not?
The Xeon is apparently optimized for power, with a TDP at 80W, vs. 95W for the i7. But again, they’re practically the same chip.
It’s true that there often exist Xeons that outperform the mainstream Intels, but it’s not true across the Xeon line.
-Dave