3 ms·
CPU-Z's benchmark is designed to give results that reflect the "average IPC" across many generations of processor without privileging specific architectural and
by AlotOfReading 3y ago
CPU-Z's benchmark is designed to give results that reflect the "average IPC" across many generations of processor without privileging specific architectural and microarchitectural choices. In fact, the current benchmark was written because the old one accidentally privileged Ryzen due to microarchitectural quirks in the ALU [0]. On-CPU procedural generation didn't end up being the major thing people thought it would be, so it's not all that representative of modern applications, but it's fine if your goal is to make a reasonably fair social media leaderboard of "CPU performance numbers". It's hard to call it inadequate when that seems to be the intended purpose.
[0] https://www.cpuid.com/news/51-cpu-z-1-79-new-benchmark-new-scores.html https://www.cpuid.com/news/51-cpu-z-1-79-new-benchmark-new-s...
- facialwipe 3y agoThe thing about CPU-Z’s benchmark is it highlights that all 100% CPU stress tests (and workloads) are not created equal. Your overclock may be able to survive CPU-Z and Cinebench, but will fall to its knees with Prime95. All are taxing the CPU to 100% in different ways.
- snvzz 3y ago>CPU-Z's benchmark is designed to give results that reflect the "average IPC" across many generations of processor without privileging specific architectural and microarchitectural choices. If it was the case, it should have limited itself to the top eight instructions that matter[0], rather than the relatively esoteric SSE. CPU-Z is just a terrible benchmark. With this article, now we can point somewhere every time someone treats CPU-Z's result as if it was meaningful. Thus I am thankful for it. 0. https://www.anandtech.com/show/16762/an-anandtech-interview-with-jim-keller-laziest-person-at-tesla https://www.anandtech.com/show/16762/an-anandtech-interview-...
- berkut 3y agoSSE2 is supported by all x64 processors (SSE and SSE2 are literally part of the AMD64/x86-64 spec), so in terms of support, I don't see how that could be "relatively esoteric"...
- wongarsu 3y agoAnd as a consequence if your compiler does autovectorization it will use SSE or SSE2, unless you specificly add compiler flags that make your binary incompatible with older processors (or you have an unusually smart compiler that adds seperate code paths for different CPU architectures)
- adrian_b 3y agoThose top 8 instructions mentioned by Keller (load and store, integer add and subtract and compare, jump and call and return) are those that matter in general-purpose and interactive applications (like an office suite or Internet browsing), whose work consists mostly of copying and searching data, with only a little amount of computations. Nevertheless, there are also people like myself, who use computers for scientific computations and for computer-aided design, for whom any computer that is optimized only for the execution of those 8 instructions would be a piece of useless junk that would be thousands of times slower than a computer with Intel or AMD CPUs, which dedicate considerable hardware resources for the execution of double-precision floating-point fused multiply-add and division and square root. However the SSE/SSE2/SSE3/SSSE3/SSE4.1/SSE4.2 instructions have been obsolete for more than a decade, despite the stubbornness of Intel of not providing AVX in its cheapest SKUs until a year ago, so I do not care about any benchmark that tests SSE instructions, because it is completely irrelevant for the performance of the CPU for high-performance computing.
- anthk 3y agoSSE2 it's used as the lowest common ground for software, for instance, Mozilla. And for older i686 Atom CPU's, SSSE3 optimizations on some media players or emulators are a must have.
- snvzz 3y ago>which dedicate considerable hardware resources for the execution of double-precision floating-point fused multiply-add I hope you realize that fma w/single rounding step is a requirement in 2008's revision of IEEE 754. Thus, it's widely available, as current CPUs implementing double-precision floating point are IEEE 754 compliant.
- arp242 3y ago> it is completely irrelevant for the performance of the CPU for high-performance computing. No matter what choices you make, a single benchmark will be "completely irrelevant" for someone. Wanting to neatly capture performance in a single number is very understandable, but unfortunately not something that really works well, and you'll always end up having to make trade-offs.
- AlotOfReading 3y agoSSE2 is the latest instruction set supported by all Intel/AMD processors from the past 5ish years. It's not remotely esoteric. As for the "top 8 instructions that matter", you'd be better served by Agner Fog's documentation than any experimental benchmark you can run if that's what you're focused on. I'm not saying CPU-Z is a useful benchmark to tell you how your system is going to run Excel or some HPC workload. I'm only saying it's not a terrible way to rank CPUs for a fun and is relatively fair as such things go.
- Laforet 3y agoI'm pretty sure the current 32-bit build of CPU-Z does not use any modern SIMD extensions for its benchmark, only pure unadulterated x87 FP instructions. And the results can be hilariously confusing unless you know what is going on. I use it as a tool to show that a large part of IPC gains over the past 20 years come from new instructions sets and recompiling old code is a must since frequency gains have pretty much peaked.
- wongarsu 3y agoTo be fair, if I just throw some code at my compiler that also won't use and modern SIMD extensions. You either have to write extra code paths, which in most software only happens in imported libraries; or you have to change your compiler options to exclude older processors. CPU-Zs benchmark is mostly confusing in that it's a benchmark of run-of-the-mill poorly optimized software. In a way that's bad because power users tend to care more about the performance of well-optimzed code; on the other hand seeing the performance difference in naive code is also useful.
- hurryer 3y ago5 years? More like 20 years. SSE2 is supported by all 64-bit Intel/AMD CPUs released since about 2005.
- adrian_b 3y ago20 years is right. SSE2 has been introduced in Pentium 4, in November 2000, then AMD has made it a standard part of x86-64, with the first Opteron launched in April 2003. It was SSE2 which made obsolete the 8087/80387 ISA.