1

I know that these 2 CPUs, given the same clock speed are still different due to many different factors, but realized I didn't really have enough knowledge to explain it clearly. I assume caching and optimizations play a decent part in it, but can someone explain how I can tell my developers that their MacBook Pro CPU isn't as fast as the staging VM Xeon CPU even if core count and clock speed are equivalent? What makes a CPU able to get more done in a single cycle than another if those two metrics are equivalent (or am I wrong in thinking it can)?

I know disk subsystem, network, etc. all factor in to performance; this is focusing on CPU performance only.

4
  • 6
    Which Core i7? There have been four different generations! May 19, 2014 at 16:54
  • Easiest way I can think of to demonstrate performance is to benchmark a build task, once on their laptop, and again on the VM. If a build isn't real-world enough, benchmark your application directly. May 19, 2014 at 19:59
  • Professional system administration doesn't involve communicating technical information to our users? May 20, 2014 at 13:09
  • 1
    Some mod has taken the time to censor/curtail my last comment, but has not reopened the question or addressed my comment. How is asking for a simple way to explain a reasonably complex thing such as CPU optimizations to our users unrelated to the job of professional systems administration? If the question stinks, so be it. But it got some answers, so it must have stirred some interest. I was ready to choose an answer when you closed it. How does this site benefit from unanswered questions? May 23, 2014 at 3:02

4 Answers 4

11

For a start the Xeon has 6 cores with 12 threads while the i7 has 4 cores and 8 threads at best (there are some 6 core/12 thread i7's but they run too hot for a laptop).

The only i7's that run at exactly 3.0Ghz are the 2-core/4-thread 3540M and 4610M and the 4-core/8-thread 3940M and 4930MX - all of these use DMI 2.0 which has a maximum memory transfer rate of 20Gbps over four channels, so a theoretical max of 10GBps.

The X5670 is actually a 2.93Ghz chip, not a 3.0Ghz but has a 2 × 6.4 GT/s QPI which works out to be 25.6GB/s and is actually much more achievable than on the i7 due to the significantly increased L2/3 caches available.

2
  • +1. Caches and memory bandwidth can be seriously hugh.
    – TomTom
    May 19, 2014 at 17:52
  • another info: multi cpu architecture is supported only by Xeon CPUs May 19, 2014 at 20:44
5

Besides core count and clock speed, cache speed and size, and memory bus speeds, there are at least two more factors:

  • Modern Intel CPUs dynamically adjust clock speeds to control heat/power dissipation. When only one process is computation-bound, they'll clock up, running one core very "hot" while leaving the other cores largely idle. When multiple cores are busy the clock speed will come down. Desktop and server machines can generally handle more heat than laptops, where size and low noise are preferred to raw power.

  • Different iterations of the Intel CPU architecture have different implementations of many instructions in the x86 instruction set. For a great many instructions, there can be different implementation choices that trade off circuit complexity, speed, and power usage. There are several "execution units" in each core that allow some instructions, or parts of instructions, to execute concurrently; instructions themselves are "pipelined" into several steps, and different CPU lines break the steps up differently. Think of a single core as being a bit like a restaurant kitchen with a certain number of skillets, burners, bowls, utensils, measuring cups, and chefs -- there are obviously lots of tradeoffs that can be made that alter performance on any given food order.

2

While there can be lots of differences such as cache sizes, memory latency, branch prediction efficiency and so on, the basic difference is this simple -- the two CPUs need different total numbers of clock cycles to execute the same sequence of instructions.

1

Well, here's a comparison. You didn't state the model of the i7, so I picked the closest one:

http://ark.intel.com/compare/71255,47920

As you can see, the Xeon is a good 4 years old now while i7s have been around about a year or so, so there's newer technology there.

Mhz used to be a big thing, but nowadays even slower clocked processors can outpace ones clocked at a higher speed (think Pentium 4s and their high clocks versus today's clocks) because of the various technologies in place. These include optimized instructions (like SSE4.2), hyperthreading, and caching.

So to answer your question, the Xeon would likely be outpaced by the i7-equipped machines simply because it's more optimized (while using less power, too!). However, the reason people use Xeons in servers is because they're built to support a greater amount of RAM over their i7 counterparts, so they're desirable in servers.

However, newer Xeon 8s give the i7s a run for their money and are well-suited for these types of tasks.

1
  • Just to clarify, the "i7" name has been in use since 2008; the question specifies a "3GHz i7" and the first of those was released in January 2013.
    – nobody
    May 19, 2014 at 20:20

Not the answer you're looking for? Browse other questions tagged .