Noch bemerkenswerter finde ich ja das hier:
Code:
200 Chess Genius 3 Iphone 4 ARM A8 800MHz 2260 82 -69 100 69% 2122
206 Mephisto Genius 2.0 486/50-66 MHz 2236 23 -23 917 58% 2177
Der Unterschied in der Spielstärke ist nicht viel über statistischem Rauschen. Ich habe mir mal die Mühe gemacht, die Coremark-Daten der CPUs rauszusuchen. Ein 486-DX2 hatte einen Coremark von 67. Ein Cortex-A8 hat bei 800MHz einen Coremark von 1900. Da der Cortex-A8 ein Singlecore ist, sind hier keine Verluste durch Parallelisierung zu bedenken.
Damit haben wir einen Faktor von 28 in der Rechenkraft. Bei 60 Elo pro Verdoppelung sollte man also eine Differenz von knapp 300 ELO zugunsten des iPhones erwarten.
Nun ist die Genius-Version auf dem PC höchstwahrscheinlich in Assembler geschrieben, das hat Lang ja seinerzeit von 68k-Assembler nach x86 portiert, während die ARM-Version (mangels ARM-Assembler-Version) wohl in C ist.
Aber: C ist nicht um einen Faktor von knapp 30 langsamer als Assembler. Typisch bringt C 80% der Geschwindigkeit, und einzelne Hotspots kann man immer noch mit Inline-Assembler lösen.
Um einen Faktor von 30 hinzukriegen, müßte man C schon so wie Basic in einem Interpreter laufen lassen.