How can I evaluate processor performance when comparing processors?

23

6

My second to last laptop was a Core2Duo 2.4 GHz processor. I have recently purchased a new laptop, which has 2.5 GHz i7 processors (the new model Macbook Pro).

It it fairly obvious that a 5-year newer processor is faster.

My assumption is the processor speed has something to do with actual calculations per second, but obviously the "GHz" comparison is meaningless as a comparison when not comparing the same model of processor.

  • How can I reliably or meaningfully determine the differences in performance from two processors of different models?

enderland

Posted 2015-09-09T16:39:07.963

Reputation: 964

Question was closed 2015-11-02T17:28:34.593

I've closed this question because it's more of a general advice-type question, which are no longer in scope.

Undo 2015-11-02T17:28:34.593

Answers

17

There are more parameters when comparing and choosing CPUs.
Also lets not forget that performance depends on what we do.
Lets bring list of parameters which can affect performance (sorted by importance, high to low).

Performance:

  • CPU frequency - how many GHz. The most important parameter. The more, the better.
  • Core/Thread count - (another very important parameter) how many actual cores you have, and how many threads the cores have. For example, i7 may have 4 cores and 8 threads, whereas Core 2 Duo has only 2 cores and 2 threads. That means you can run 8 (better 4) concurrent program threads on i7, compared to 2 on Core 2 Duo, which results in better multitasking/multithreading. This is the main reason why i7 2.4GHz is more powerful than a 2.5/3GHz Core 2 Duo.
  • IPC - instructions per clock cycle. Another important perameter. Like GHz, the greater, the better. This measurement can often be hard to find, but is very important when comparing processors of the same frequency. (by Firepower0701)
  • Bits - 32-bit, 64-bit. A high-performance application created for 64-bit CPU may have better performance than 32-bit performance. Also it can limit maximal amount of RAM (depends on OS). For example, old Windows XP could see 4GB RAM when CPU was 32-bit. Today most CPUs are 64-bit and usually you will not feel RAM limit (unless you are running a powerful server).
  • Cache - a very fast but little memory placed near to CPU. Usually improves performance (if we omit cache-miss, but that's another theme)

Other options to compare:

  • Support of hardware - RAM type/size/frequency, for example, DDR4 2133MHz, 64GB.
    Another important parameter can be PCI (Express) version and number of lanes (e.g. for connecting SSDs). The higher, the better.
  • Power consumption, TDP - watts consumed by CPU and produced heat. This is important especially for mobile devices, tablets and notebooks which have battery and don't have good cooling systems. Does not affect performance.
  • Built-in graphics - newer CPUs usually have better graphics than old ones and support more monitors. Of course that's not enough to run new high-performance games but is good for home/office usage and low-end gaming. But built-in graphics is not so important when you already have graphics card.
  • Other features - features like HyperThreading, Turbo Boost, VTx. Some of them may have good impact on performance, others may be useful for specific cases. Most of them don't increase performance on daily usage.

Anyway, you can use benchmarks to test CPUs, or see benchmark results in sites like FutureMark, PassMark CPU Benchmark, or use benchmarks such as Cadalyst for AutoCAD to determine performance of one software. (This is a better way if you don't know much about hardware.)


Note: There are lots of other parameters. If some very important parameter is missing here, feel free to edit and add (by placing low-importance parameter in lower place, higher in higher).

Jet

Posted 2015-09-09T16:39:07.963

Reputation: 371

Clockspeed isn't really the most important parameter. In fact in the modern context its completely meaningless, since we have significant performance differences between different contemporary architectures of the same ISA. For that matter, you'd expect a mainstream core processor (of laptop or desktop varient) to significantly outperform say, a atom ISA processor. A pretty odd example of this would be the original pentium M (banias) which was, to my recollection, something like twice as fast as a PIV with a faster clock speed.Journeyman Geek 2015-10-11T12:14:13.633

1You failed to mention Instructions Per Clock. That is also a very imposrtant factor in this kind of comparison... For the record, IPC is the number of instructions your CPU can send in one clock cycle. The higher, the better. This is why quad core AMD CPUs are usually inferior to quad core intel i5 CPUs, even when clocked higher.Firepower0701 2015-09-10T01:53:49.477

1PassMark has been invaluable for me as a professional. I don't even have to run anything--just look it up on their website most of the time. The relative scores of the processors turned out to be very accurate for server capacity planning.James 2015-09-11T03:54:11.457

The ISA is also very important, for example, IPCs are often far higher with the ARMv8 ISA versus the CISC x86-64, but x64 uses far fewer instructions to do the same thing. That, and instruction level parallelism, such as SIMD, affect the performance in far more subtle ways.Alpha3031 2015-09-12T03:46:01.547

11

The most obvious way is just to simply benchmark the two against each other. If you have a machine with each processor installed, or one machine with the ability to change the processor, then you can run tests. One machine would be better, to preserve all the other contributing aspects.

Perform some common tasks with each processor installed. These should be tasks that primarily use the CPU, rather than any other component: browsing the web wouldn't be as good, because it primarily uses the network card (yes, it does use CPU, but I don't see that as its primary resource). Tasks such as these:

  • Rendering, such as image editors, or in games;
  • Heavy calculations. If you can program, make yourself a loop with some heavy work in there.

If you don't want to do as much work, you can look up processor stats. A quick Google search revealed this website, among others, to me, which seems to me to hold lists of processors that someone else has benchmarked for you.

ArtOfCode

Posted 2015-09-09T16:39:07.963

Reputation: 1 940

2

The other answers are technically correct, but are IMHO unlikely to help. The benchmark you care the most about is your real-life usage of the processor.

Watch yourself using the processor and watch how the processor is doing in critical times, for instance by using htop or whatever works for you. Find the critical components, compare measures for those. For instance, it's pointless to compare benchmarks before knowing how many cores you need.

So for example I can open top or htop in a meaningful moment of the day (e.g. when the computer feels slow), rule out any memory or I/O issue; watch the CPU usage and find out Skype is consuming 70 % of one core, a chromium-browser thread is consuming 100 % of one core and another program I'm using is also taking all the CPU it can. Based on this, I know that for my web browsing I'd benefit from a faster core and for my multi-tasking I'd need at least 3 cores.

If you have access to the newer machine you want to compare (as in your case), go compare the CPU usage and required time for a specific task which proved stressing, such as opening a particularly heavy web page or searching a mass of emails in your email client or whatever (optionally using /usr/bin/time -v in your time for a specific command in the terminal, works also in OSX and many *NIX OS)

Nemo

Posted 2015-09-09T16:39:07.963

Reputation: 233