Grundlagenartikel Warum Apples M1 Single "Core" Vergleiche grundlegend fehlerhaft sind (mit Benchmarks) | Gastbeitrag

Igor Wallossek

Format©
Mitarbeiter
Mitglied seit
Jun 1, 2018
Beiträge
10.177
Bewertungspunkte
18.761
Punkte
114
Alter
59
Standort
Labor
Ich habe heute etwas ziemlich Aufregendes für Eure Leser; etwas, das fast jeder bei großen Getöse um die Apple M1-Benchmark-Vergleiche verpasst zu haben scheint. Was wäre, wenn ich Euch sagen würde, dass so ziemlich alle Single-Core-Benchmark-Vergleiche zwischen dem Apple M1 und modernen x86-Prozessoren, die Ihr online sehen könnt, grundlegend fehlerhaft sind (vorausgesetzt, Ihr wollt sehen, welcher Kern der schnellste ist)? Denn wie Ihr seht, nutzen die meisten Einzelkern-Benchmarks, die im Umlauf sind, einen modernen x86-Kern nicht einmal vollständig aus - aber wahrscheinlich die des M1.




>>> Hier den gesamten Artikel lesen <<<
 
Ich denke die Benamung der Benchmarks ist einfach falsch. SingleThread-Benchmark und gut ist. 20% Performanceunterschied bei Anwendungen spielen beim Vergleich M1 zu X86 eh keine primäre Rolle. Es ändert nichts daran, dass das, was Apple im ersten Anlauf auch konkret in Anwendungen aus teilweise nur wenigen Watt an Performance rausquetscht schon erstaunlich ist - ändert aber auch nichts daran, dass Apple grundsätzlich schon beim Design "mogelt" und sehr viele Dinge einfach in Hardware gegossen hat (Video Codecs etc.) und dort dann zwar tolle Performance hat, aber bei den Dingen, die nicht in den SOC gegossen wurden schnell und sehr deutlich die Rücklichter der flexibleren x86 Plattform sieht. Ich denke man sollte mit dem Fanboy-Tum (alles was Apple macht ist toll) und Beissreflexen a la "mich nerven Apple Fans, daher muss Apple auf die Nase bekommen" aufhören und sich einfach über eine Bereicherung im Tech-Sektor freuen. Und es ist absolut begrüßenswert, wenn sich jemand hinsetzt und mal die oftmals unreflektierten Annahmen hinterfragt und wie hier zumindest in Teilen widerlegt.
Ich finde halt Funktionen/Codesc/etc die meine Zielgruppe häufig nutzen in Hardware zu gießen auch total nachvollziehbar und logisch.
Der Chip ist aber auch davon mal abgesehen für die allermeisten Anwender wohl mehr als schnell genug, ich konnte jetzt nicht erkennen, wo der Chip die Rücklichter sieht (in seiner Low-Energie-Klasse). Klar, gegen einen 5800X kommt er nicht an, dieser verrbraucht aber auch soviel Strom, dafür kann ich knapp 10 M1 laufen lassen.
 
Im M1 Test von Golem wurde übrigends "korrekt" die Single Thread Leistung vermessen & dies auch passend deklariert.
Da es sich dabei um den einzigen Test zum M1, welcher mir über den Weg gelaufen ist, handelt, suche ich immer immer noch den Sinn dieser "Aufklärungsaktion". Vor allem da hier Prozessoren mit stark unterschiedlicher Leistungsaufnahme verglichen werden... Wirkt heute wirklich alles etwas "trollig".
 
Was natürlich noch Top gewesen wäre, die Leistungsaufnahme die der jeweilige Chip für seine Ergebnisse benötigt, als Übersicht mit rein in den Vergleich. Das wäre sicher auch Aufschlussreich, wie gut oder schlecht die beiden Designs in diesem speziellem Fall sind.

Ansonsten sehe ich da auch nicht soviel Sinn bei Mobilchips solche Vergleiche anzustellen, für einen Notebook gibt es heutzutage wichtigere Punkte als die Rechenleistung im CB... Dort kommt es auf leise und lange Laufzeit an. Rendern usw würde ich auf potentere Hardware auslagern, außer Hör- und Sichtweite ;)
 
Ich kann @Martin Gut völlig zustimmen. Das was "hinten raus" kommt ist für mich als Anwender entscheidend, von einer Rohleistung kann ich nicht runterbeißen. Genauso läppisch ist allerdings wie Apple die Leistung des M1 medienwirksam ausschlachtet um den Eindruck einer "Pseudo-Überlegenheit" gegenüber einer seit 30 Jahren entwickelten und verfeinerten x86 Architektur argumentativ zu untermauern, resp. den Weggang von Intel gegenüber den "Appleianern" zu rechtfertigen. Ich kaufe was ich benötige und was da für ein Logo dranpappt ist mir Wuppe. Vielleicht bin ich für diesen kindischen Mist einfach auch zu alt.
 
Apfel-Jünger, AMD-Fanboys, Nv-... alle in einen Sack und mit dem Knüppel drauf - trifft immer den richtigen. Fanboys egal welchen Lagers machen einen offentlichen, objektiven Dialog zunehmend anstrengender.

Ich habe oft genug mit Unpräzisen Formulierungen zu kämpfen, aber beim M1 gilt Singlecore = Singlethread, also warum sollten die nicht mit hoher Singelcore-Leistung werben?

Und Singlecore bei x86 mach doch soweit ich weiß so garkeinen Sinn, 2 Thread auf 2 Cores sind doch eh sinniger wenn eine rechenintensive Anwengung nur 2 Threads kann, oder?
Bin da grade nicht so tief im Thema...
 
Es wird interessant sein zu sehen, wie Intel und Winzigweich den big-LITTLE-Ansatz realisieren werden. :D
Bisherigen Implementierungen von Intel nach zu urteilen wohl eher grottig bis ganz furchtbar. (Lakefield *hust*)

Dazu wegen dem bisherigen 10 nm Desaster womöglich noch back ported auf 14 nm ++ und damit dann auch nicht mehr Energie effizient.

Dann kommt noch Microsoft oben drauf die jetzt auch nicht wirklich gute porting Kompetenz haben (Windows on Arm auch *hust*) und das könnte ein ganz großer Verkehrsunfall werden
 
puhhhhhh... und noch eine benchmark ausprägung? ich hoffe nicht...
ich schließe mich obigen aussagen an, das es eher ein benamsungs thema ist. als alter sack kann ich sagen, das "core" zu einer zeit geprägt wurde, als es noch kein wirkliches smt gab. also dann lieber single-thread performance, als das wir hier wirklich auf auslastung eines core's, was heutzutage zu 99,999% compiler übernehmen, geachtet wird. denn wo ist denn dann das ende? es gibt auch in der power serie 8 fach smt. sollte hier dann auch darauf eingegangen werden? die haben dann auch noch segmentierte caches um die sehr hohe threadleistung aufrecht halten zu können, was machen wir damit? oder die vielen parallelen units, pro core. sollte dann ein handgeschriebener code speziell dafür geschrieben werden um diese auszulasten und vergleichen zu können? meines ermessens nein. smt ist entstanden, gerade weil diese vielen einheiten nicht genug durch einen thread ausgelastet werden. was im übrigen durch die völlig veraltete isa "x86" begründet ist, bei der der aufwand einen größeren ilp aus dem thread "heraus zu kitzeln" so immens groß wird, das sich eher smt lohnt.
das sieht bei der arm isa schon etwas besser aus. auch diese ist in den letzten 30jahren etwas unhandlich geworden, aber bei weitem leichter hier ein höheres ilp zu realisieren. arm hat hier hervorragende arbeit geleistet und apple hat hier das sahnehäubchen oben drauf gepackt und dekodiert hier bis zu 8 befehle, wo bei x86 schon bei 4 der aufwand sehr hoch ist. was im übrigen auch einen großteil der leistungsaufnahme bei modernen x86'ern ausmacht. ich denke das sollte man apple schon zugestehen, das dieser aufwand den sie betreiben eine hohe single-thread performance zu erreichen auch marketing technisch ausgeschlachtet wird. wenn ich mir die letzten events von intel und amd anschaue, sind diese auch nicht besser - eher im gegenteil.
meines ermessens macht es sinn arm basierte cpu's als alternative auf den markt zu bringen, da diese ein wesentlich höheres potential haben. bei x86 ist hier schon seit vielen jahren nur noch homöopathischer fortschritt zu verzeichnen.
also lange rede gar kein sinn: so sehr ich igors beiträge mag, so sehr bin ich doch von diesem enttäuscht...
 
Es wird interessant sein zu sehen, wie Intel und Winzigweich den big-LITTLE-Ansatz realisieren werden. :D
Bin ich auch gespannt darauf! Eines der scheinbar fundamentalen Probleme bei Intel bigLittle ist daß die großen Cores ihre breiten Vektor-Extensions (AVX2, 512) verlieren (müssen?), damit das hin und her mit den kleinen Cores, die sowas ja nicht haben, auch hinhaut. Und die (v.a. AVX512) sind z.Zt. Intel "last line in the sand" vis-a-vis AMDs Zen3. Wenn Intel mit MS es schaft, das Problem zu lösen, wäre Intel's bigLittle in der Tat sehr interessant, v.a. für Laptops.
 
Ich bin nun wirklich kein Apple Fan, aber der M1 ist schon interessant und beeindruckend. Mich interessiert v.a., ob ein großer L1 und L2 Caches wie es der M1 hat auch bei x86/x64 CPUs mehr Leistung bringen würde, oder ob hier die Architektur dem einen Riegel vorschiebt?
 
Ich bin nun wirklich kein Apple Fan, aber der M1 ist schon interessant und beeindruckend. Mich interessiert v.a., ob ein großer L1 und L2 Caches wie es der M1 hat auch bei x86/x64 CPUs mehr Leistung bringen würde, oder ob hier die Architektur dem einen Riegel vorschiebt?
>L1,L2,Lx hier gibt es sehr viele wissenschaftliche auswertungen im netz, die besagen, das bei x86 code eine verdoppelung der caches nur noch mit unteren 1 stelligen performance zuwächsen zu rechnen ist - basis sind hier meistens die spec benchmarks.
 
Bei einem Singlethread Test will ich die Performance sehen, welche die Hardware liefert, wenn Software mit Unterstützung nur einem Kern darauf läuft. Das der M1 weniger Kerne hat ist kein Geheimnis und im n-core Benchmark sieht man das auch schwarz auf weiß. Aber bei Anwendungen bis vier Threads deklassiert der M1 absolut jede Konkurrenz in der Leistungsklasse bis 45 Watt, bei einem Bruchteil des Verbrauchs. Und abseits von irgendwelchen Brute-Force Tätigkeiten wie Encoding und CPU-Rendering laufen nach wie vor 99% der Anwendungen auf 1-4 Threads.

Die Argumentation mit SMT in meinen Augen lächerlich ... Nach der Logik können wir auch AVX512 Software testen, da wird mein Skylake-X plötzlich um Faktor 5 vor jedem Ryzen 5000 liegen :ROFLMAO:
 
Die grundsätzliche Frage kann man reduzieren. Ob einem die Single-Core Leistung einer CPU wichtig ist, stellt sich nur für die x86 Gruppe.
Bei der anderen Gruppe hat man keine (Aus)Wahl, das entscheiden eben Andere, offensives Marketing hin oder her. Die sich nicht sicher sind, können sich problemlos informieren, -nur nicht beim jeweiligen Jünger von nebenan.

1. Bin ich bereit mich auf Gedeih und Verderb an eine Firma zu binden, mich bei der Auswahl an Peripherie sowie Hard-/Softwarekomponenten auf ein Minimum an (meist guten) überteuerten Produkten einschränken zu lassen und nur das zu tun und zu lassen was dieser eine Anbieter mir erlaubt und bekomme dann dafür aber ein recht unkompliziert zu bedienendes gutes Gesamtprodukt. Dieses Gesamtpaket aus einer Hand muss mir dann den doppelten Preis und die hohen Folgekosten wert sein. Dafür gibt es eine Zielgruppe, von der eine Firma mehr als gut leben kann.

2. Oder bin ich der Typ, der gerne selbst entscheidet welche Hard-/Software/Peripherie er für das Gesamtprodukt auswählt (das ganze aus einem unzensierten riesigen Pool), selbst entscheiden möchte wie meine Rechner aussehen sollen, wie ich mit meinen Musik-/Videodaten verfahre, gerne die neusten und leistungsfähigsten Komponenten nicht erst nach einem Jahr verbauen möchte (muss)... -dann wähle ich die große Freiheit, jederzeit kurzfristig zwischen Intel/AMD (und was da noch kommen könnte), Windows, Linux, UNIX und was auch immer nach Bedarf zu wechseln. Dafür muss ich mit etwaigen Inkompatibilitäten und Fehlkäufen leben, die sich aber dank Igor u.a. sehr gut vermeiden lassen :)
Dafür gibt es auch eine Zielgruppe, von der auf Grund der Masse viele Firmen ganz gut leben können.

Ich werde mich immer für meine persönliche Freiheit entscheiden, nicht nur beim Rechner :) jeder tickt da anders. Das soll und muss Jeder für sich entscheiden. Die Anforderungen und Prioritäten sind abseits vom Gaming selten vergleichbar (für Office-Rechner ist die Diskussion eh belanglos).
Bei 11 Rechnern +Server in der Firma, die Leistungstechnisch immer up to date sein müssen, fällt mir die Entscheidung leicht. Wir sind 2020 kurzfristig von Intel zu AMD gewechselt und die Ausfallzeit pro Rechner lag bei ca. 1,5 h. Über den finanziellen Einsatz gegenüber der Apple-Alternative braucht man nicht mehr nachdenken, das müsste einer dann erst mal erarbeiten (können).
Schon seit 3dfx und Hardware-TL lassen mich Marketingaussagen kalt. Liegt vielleicht auch daran, das ich in der Branche arbeite :)
 
Zuletzt bearbeitet :
Auch wenn immer von Singlecore gesprochen wurde, was immer schon gemeint war ist Single Thread Performance. Wenn ich mich hinsetze und etwas in C++ programmiere und mich nicht um Multithreading kümmere, dann kommt ein Singlethread Programm raus, dem ist es egal ob es einen zweiten Thread zur Verfügung hätte oder nicht.
 
Der single Thread Vergleich hat in jedem Fall seine Daseinsberechtigung, egal ob Äpfel oder Birnen.
 
Sorry, in meinen Augen ist das technisch zu kurz gesprungene Wortklauberei in Kombination mit einer gewissen Portion Sensationslust. Zugleich bestenfalls - wenn's denn richtig gemacht wäre - absolut theoretisch ohne nutzbaren Erkenntnisgewinn für die Praxis: Um irgendeine Form von echter "technischer" Vergleichbarkeit hinzubekommen, müsste man eine Architektur wohl so kastrieren bzw. das Testumfeld so künstlich gestalten, dass die Ergebnisse einfach keinen Rückschluss auf die reale Leistung unter normalen Bedingungen in der "echten Welt da draußen" mehr zulassen.

Warum nicht auch gleich noch Quantencomputer mit in den Vergleich einbeziehen? Hey, total viel leistungsfähiger pro... ja... was eigentlich? Genau.

AMD und Intel kann man so schön vergleichen, weil exakt das Gleiche darauf läuft - nur ggf. eben unterschiedlich gut/schnell.

Aber hier: what's the point? Wie den Mathematikern und Ingenieuren oft spaßeshalber unterstellt wird: "Ergebnis absolut korrekt, aber leider unbrauchbar."

Also bitte wenn dann mal identische Anwendungen finden und dann vergleichen. Äpfel und Äpfel Vergleiche bringen nichts, wenn ich hüben 'n Obstsalat schnippele und drüben 'n halbes Schwein auf Toast braten will.
 
Die Kritik an der Bezeichnung "Singlecore" kann ich durchaus nachvollziehen.

Aber was ist bei den ... nennen wir sie "Singlethread-Benchmarks" entscheidend? In meinen Augen ist es die Fähigkeit einer CPU, eine Aufgabe abzuarbeiten, die nur einen Thread nutzt/nutzen kann. Und da erscheint es mir sinnfrei, zwei Threads einzustellen. Denn wenn eine Anwendung zwei Threads nutzen kann, dann sollten ihr diese zwei Threads auf verschiedenen Kernen zugeteilt werden. Dadurch steigt die Performance nicht um 20 - 30 %, sondern um bis zu 100 %.
 
Egal ob M1 jetzt etwas schneller oder etwas langsamer ist, ich finde das Ergebnis in jedem Fall sehr beeindruckend. Man darf ja auch nicht vergessen, dass das im Grunde ein Smartphonechip mit mehr Powerbudget ist. Ich persönlich überlege mir, einen kleinen Mac Mini zu kaufen.
 
Oben Unten