Skrivet av Pettor:
Har en Surface Book 2 med i7-processor som får 1134 / 2725 i Geekbench 5. Har även en stationär dator med generation 3 (japp 10 år gammal nu) i7-processor (i7-930) som får 704 / 2468 (och då tog jag en överklockad version då jag själv klockat den lite). Har inte själv benchmarkat men kollar man i deras browser ligger de ungefär där. De har båda SSD och 16gb ram.
Det jag inte förstår är att min desktop egentligen springer varv runt min Surface Book 2. Den har inte en chans i rent upplevd prestanda. Jobbar som mjukvaruutvecklare och har igång VM, kompilerar etc. och skillnaden är väldigt märkbar. Min desktop flyter som attan och kan ta sig an vad som helst utan problem. Har provat TF2 på båda maskinerna och även här flyger min desktop förbi. Båda har ändå likvärdiga GPU:er.
Jag förstår ju också att min desktop aldrig behöver throttla och har en jäkla massa fördelar gentemot en 13" laptop. Men Geekbench 5 skulle ju isåfall indikera att skillnaden inte borde vara så stor och till och med till fördel för min Surface Book 2, men så är absolut inte fallet. Därför ställer jag mig ändå lite lätt frågande till det som benchmark för reel prestanda?
Geekbench är specifikt designat för att testa peak-prestanda. Är därför enklast att se GB5 som ett test för prestanda-per-kärna, inte ens bärbara trottlar speciellt mycket när bara en kärna är lastad.
Multitrådtesterna i GB5 är inte helt värdelösa, men man måste inse vad de faktiskt mäter för att de ska kunna användas på något vettigt sätt. Då GB specifikt testar race-to-sleep blir resultatet: prestanda om värme och TDP inte sätter några begränsningar.
Detta syns väldigt bra om man tittar på hur AMD 4800U (8C/16T med maxboost på 4,2 GHz, TDP mellan 12-25 W) står sig mot 3700X (8C/16 maxboost 4,4 GHz med 65 W TDP).
Jämför man hur dessa presterar relativt varandra i Cinebench (som är en batch-workload som pågår relativt länge) och GB5 (race-to-sleep interaktiv last) så visar båda dessa benchmarks väldigt snarlika resultat när man kör på en enda CPU-tråd.
Om man däremot använder alla CPU-trådar ser man att peak-prestanda och långvarig kapacitet inte är lika hos dessa. 4800U kommer trottla ner till strax över 2 GHz i Cinebench då det inte går att köra 8C/16T snabbare på det TDP-utrymme som finns.
Även GB5 ser en viss mån av throttling i MT-testerna, dock inte i närheten samma nivå som i Cinebench eller andra saker som lastar alla kärnor under längre tid.
Samma sak gäller Arm i kontext av telefoner, det är visst mått av throttling när alla kärnor är aktiva.
Amazon har ju en plattform baserad på Arm N1, som i praktiken är en Cortex A76 med stöd för upp till 128 kärnor i samma krets. TDP utrymmet är långt högre än för en telefon, Amazon valde ändå att lägga sig rätt lågt då deras servers ska tydligen dra strax under 100 W vid full last (2,5 GHz oavsett om en eller alla kärnor är lastade, så där är det faktiskt noll throttling by design).
Bl.a. Phoronix har testat Amazons Arm. Observera att Cortex X1 har ~50 % högre prestanda vid samma frekvens som Cortex A76 medan Apple A13 har ~80 % högre!
m6g är Amazons Arm64 baserade Graviton 2.
a1 är Amazons Graviton 1, baserad på samma Cortex A72 som också används i RPi4. Arm har gjort en del framsteg de senaste åren...
Det visar om något ännu större fördel för Arm64 än vad GB5 gör. Och igår lär den kallduschen ha blivit ännu några snäpp obekvämare. Arm lanserade Neoverse V1, server-varianten av Cortex X1 med ~50 % högre prestanda per kärna än Neoverse N1 som används ovan.
En GPU i en bärbar kan sällan jämföras med en GPU i stationär, framförallt kan inte modeller som GTX1660 och liknande jämföras. De är väsentligt långsamma i en bärbar då modellerna har rejält nedskruvad TDP. Vidare är det inte alls osannolikt att diskar throttlar i en bärbar, framförallt om man har en stark CPU. Hade inte problem med SSD-trottling i tidigare laptops med SATA-SSD, men nuvarande bärbar med i7-8665U (maxfrekvens på hela 4,8 GHz) kan definitivt få disken (NVMe) att throttla om man bygger stora Docker-images, länkar stora projekt etc.
Skrivet av leafbranch:
Två olika processorer som kommer sitta i två helt olika uppbyggda OS.
Så långe hårdvaran håller en relativ prestanda så är enheten, mjukvaran A och O.
Jag menar sitter vi och jämför benchmark mellan Mac och Windows-datorer? Nej, för det är irrelevant.
Vi koller som bäst direkt på generation av hårdvara vid jämförelse.
iOS och MacOS är faktiskt betydligt mer lika varandra än man kan tro. De kör samma OS-kärna, de delar alla grundläggande bibliotek (är bara vissa bibliotek relaterade till UI som är olika), de delar samma utvecklingsvektyg. Den sista punkten är väldigt viktig för att Apple övergång ska gå smidigt.
Historisk har det blivit en hel del jobb att byta CPU-arkitektur då man stöter på problem med att kod som kompilerar med den gamla kompilatorn inte gör det med den nya. Apple använder en teknik som kallas LLVM, en av de riktigt innovativa delarna där är hård separation mellan front-end, det som tar C, C++, Swift, Metal etc och spottar ut ett mellanformat kallat LLVM-IR. LLVM-IR är exakt samma oavsett om man tänker köra på x86, Arm64, RISC-V eller vad det nu må vara.
Detta tar bort alla tidigare problem med att kod inte ens kompilerar, det är ju samma kompilatorn oavsett om man bygger för x86 eller Arm64. Kvar är sedan back-end som tar LLVM-IR (d.v.s. vilket programspråk man startade med är irrelevant för back-end) och spottar ur sig maskinkod för den CPU man tänker använda.
För GB5 blir detta extra relevant. Är ju samma kompilatorn och om man ställer t.ex. Ipad mot kommande MBP med Apple silicon, även samma back-end som används här. GB5 använder väldigt få OS-funktioner, i princip används bara minnesallokering samt synkroniseringprimitiver för MT-testerna. I fallet iOS och MacOS är det ju samma systembibliotek och samma OS-kärna, d.v.s. inga problem att jämföra!
Mellan Windows, Linux och iOS/MacOS/Android finns skillnad i kompilatorn. Tror man använder MSVC++ för Windows, GCC används för Linux och LLVM används för resten. Jämför man samma CPU skiljer det en hel del (<=10 %) i GB4 mellan OS, men det är väldigt liten skillnad (några enstaka procent) mellan olika OS i GB5.
GB5 är en riktigt bra benchmark förutsatt att man inser vad den mäter, d.v.s. peak-prestanda på ett sätt som får framförallt bärbara x86 system att prestera väldigt högt i MT-testerna. Både Intels och AMDs U-serie modeller drar ~50 W i peak, men de kan bara göra det under några sekunder. Desktop och även dagens Arm kretsar har inte alls sådan stor skillnad mellan peak-effekt och effekten de kan hålla långvarigt.