And what relevance does that normalization have? If you took Core 2 and built it in Haswell's process it wouldn't miraculously run at 5GHz all the time. Clock speed is largely irrelevant - it doesn't really matter if you're running at 2.5GHz or 5GHz if you're managing the same instructions/time measure.Brendan wrote:Except, it's highly misleading. All these CPUs use different clock speeds, have different cache sizes and speeds, different RAM speeds, etc.
Here's your results; with the original score divided by the clock speed:
- 2006 Core 2 (Q9650): 3810/3 = 1270
- 2008 Nehalem (860): 6230/2.8 = 2225, difference from previous = 75%
- 2011 Sandy Bridge (i7 2600): 7970/3.4 = 2344, difference from previous = 5%
- 2013 Haswell (i7 4790): 9540/3.5 = 2725, difference from previous = 16%
OK, let's consult a different benchmark: SUPERCOP. Specifically (because I don't have all day), I'll pick the Salsa20 stream cipher (which is one of the newly picked TLS 1.2 ciphers, because it's very amenable to software implementation) on a 4096 byte message. One will note that a 4096 byte message will quite easily fit inside L1 cache.Brendan wrote:Note that the biggest change/improvement Intel made for Nehalem was bringing the memory controller onto the same chip as the CPU, which caused major improvement in RAM access times. I very much doubt that the jump in benchmark score for Nehalem is a coincidence, and that implies their benchmark is heavily effected by memory bandwidth and/or latency. Nehalem and Sandy Bridge both used DDR3-1066/1333, and the (normalised) performance difference between them is minor. Haswell uses DDR3-1333/1600, and with a 20% increase in RAM speed (over Sandy Bridge) we get a 16% increase in (normalised) benchmark score. What a surprise!
Sandy Bridge manages 3.76 cycles per byte. Haswell manages 3.14 cycles per byte. A 20% improvement.