Varför är det så många som försöker hävda att AMD FX 8350 är överlägsen Intel i5 3570 / i7 3770 på saker som kan använda alla kärnor? Sanningen är att de saker som inte kan använda många kärnor (majoriteten av alla program) går betydligt mycket snabbare på Intel medan AMD når upp till Intel i de program som faktiskt kan använda alla kärnor, i alla fall de program som är väldigt enkla att parallellisera. De program som kan använda många kärnor men ändå innehåller en hel del kommunikation mellan kärnor verkar faktiskt må klart bättre på Intel.
Låt oss använda SweC test av AMD FX 8350 som referens.
Det ska påpekas att FX 8350 kostar som en i5 3570, så kommer jämföra både mot den och i7 3770. Personligen kan jag inte förstå hur någon som tänker bygga en dator för riktigt krävande applikationer, typiskt med ett extremt dyrt grafikkort, stor SSD etc, överhuvudtaget bryr sig om de 700-800kr som skiljer mellan i5 3570 och i7 3770. Men rätt ska vara rätt.
Kan börja med Cinebench, det är interessant då det finns tester både för en CPU-kärna och alla CPU-kärnor. Cinebench är också "embarrassingly parallel" så det skalar teoretiskt sätt helt linjärt med antalet kärnor. I praktiken blir inte skalningen helt linjär då "turbo boost"/"turbo core" inte kan dra upp klockfrekvesen lika mycket när alla kärnor används som när en kärna används + att L3 cache och RAM delas ju mellan alla kärnor.
Skalning på kärnor (tiden det tar på en kärna mot tiden det tar när alla CPU-kärnor/trådar används):
FX 8350 6.96/1.12 = 6.2
i5 3570 5.98/1.62 = 3.7
i7 3770 7.66/1.66 = 4.6
AMDs "moduler" ger helt klart en större knuff än HT, men det är bara i5:an 4 "riktiga" kärnor som visar på nära nog linjär skalning (men tänker inte ge mig in i diskussionen huruvida AMDs moduler är två kärnor eller en kärna med SMT). Men tittar man på resultatet när alla kärnor används så är ändå 3770 den snabbaste. 8350 är dock 16% snabbare än 3570.
Tittar man sedan på spel så är det korta versionen: om man kör i högre upplösningar med mycket ögongodis på så kvittar det i stort sätt vilken CPU man använder så länge som det är något av de bättre AMD eller Intel modellerna, GPUn är alltid flaskhalsen.
Men ska man avgöra vilken som är bäst får man helt enkelt titta på de siffror där CPUn i alla fall till viss del är flaskhals, d.v.s titta på resultaten i lägre upplösning. Tänkte ta Battlefield 3 och Civ 5 som exempel då båda verkar kunna utnyttja relativt många CPU-kärnor för att vara spel.
Battlefield är 9% resp. 13% snabbare på 3570 än på 8350 i medel resp. lägsta värde (det senare lär ju anses vara det viktigaste). Relevant i praktiken? Knappast, men helt klart är Intel snabbare givet en CPU som kostar lika mycket.
Civ 5 är 41% resp. 26% snabbare på 3570 än på 8350 i medel resp. lägsta värdet. 26% kan vara relevant i detta fall då det är skillnaden mellan att komma över 60FPS eller inte, men i praktiken kvittar det nog ändå då Civ 5 är ett strategispel. Men helt klart är Intel den snabbare CPUn för spel. Man ser också att Civ skalar väldigt väl på Intel när man går från 2 kärnor (core i3) till 4 kärnor (core i5), men det skalar inte alls lika bra på AMD.
Spel kommer kräva en hel del kommunikation mellan kärnor så detta pekar på att Intel är mer effektiva på detta. Tittar man lite på Intels L3 cache jämfört med AMDs L3 cache så är det inte så förvånande, L3-cache är det medium som kommer användas för kommunikation mellan CPU-kärnor då det är den enda cache som delas mellan kärnor och Intels L3 har mycket lägre latens och något bättre bandbredd jämfört med Bulldozer/Piledriver (och vad jag läst så är L3 cachen oförändrad även i Steamroller).
Slutsats: i praktiken är GPUn flaskhalsen för majoriteten av alla spel, så det kvittar om man kör med en CPU från Intel eller en från AMD. Men är man ute efter maximal prestanda så är fortfarande Intels CPUer snabbare. Dock är Piledriver en mycket stor förbättring jämfört med Bulldozer!
Edit: sista ordet ändrat från "Piledriver" till "Bulldozer", meningen blir lite vettigare då...