top | item 25289208

(no title)

feelix | 5 years ago

It turns out that the benchmarks for M1 vs latest generation Intel & AMD CPU's are indeed overblown, and it is an incremental improvement more than a great leap forward.

The source of the confusion has been the benchmarking software. To saturate one core on an Intel processor you need to run two threads, because that's the way they are designed. So the single thread benchmarks that have been used so far have been using 50% of the capacity of an Intel CPU core and comparing it with 100% of the capacity of an M1 CPU core.

This article breaks it down fully: https://wccftech.com/why-apple-m1-single-core-comparisons-ar...

discuss

order

gjsman-1000|5 years ago

Have you read the comments on that article? That article is not nearly of a smoking gun as the possibly clickbait title.

More discussion: https://linustechtips.com/topic/1276532-exclusive-why-apple-...

feelix|5 years ago

I didn't until you linked to it, but having read it it still does appear that comparing single thread to single thread is not very accurate. Neither would core to core considering single thread does hold some weight compared to real world workloads.

I guess at the very least CPU benchmarking software should have a "thread to thread" benchmarker alongside a "core to core" benchmarker, or something along those lines.

That would be in the spirit of having benchmarks indicate real world usage

rsynnott|5 years ago

Eh? I mean, by the same token you could say that single-core benchmarks of Intel chips are invalid, because you need eight threads or whatever to saturate a POWER7's multi-way SMT.

The main purpose of single-threaded benchmarks is to approximate performance for things which are actually single-threaded.

Jonnax|5 years ago

That article makes no sense whatsoever. And whoever wrote it doesn't not understand what they're talking about.

SMT is designed to boost performance in multitreaded workloads.

It can be thought as multitasking for a CPU core.

Using two threads for one benchmark and use one thread for another, it is not comparing single core performance.

Because why wouldn't that CPU schedule the load on other cores?

cpgxiii|5 years ago

Of course, the scheduler can easily be told to run both benchmark threads on the two hyperthreads of a given core.

The argument to be made is that because of the resources dedicated to SMT, single thread on AMD/Intel versus single thread on Apple is not measuring the true potential performance of the whole core. In principle, some multithreaded workload over all available threads could be a better metric for whole-processor performance.