Mehr und bessere Benchmarks

Die Empfehlungen des Hardwareempfehlers für Prozessoren und Grafikkarten basieren auf Benchmarks. Nicht auf irgendwelchen, sondern auf professionellen Benchmarks mit realen Anwendungen, besonders mit Spielen. Das System konstruiert aus diesen vielen einzelnen Wertungen einen Meta-Benchmark, eine normierte Performancebewertung. Genau das wurde jetzt erweitert: Der Meta-Benchmark berücksichtigt jetzt mehr als 68 Einzelbenchmarks (etwa doppelt so viele wie zuvor), und die Genauigkeit der Gesamtbewertung wurde verbessert.

Bessere Gesamtbewertung

Mit Ryzen wurde deutlich, dass das bisherige Benchmarksystem nicht weiter skalierte. Das Problem war, dass die Metabewertung durch Hinzufügen der Ryzen-Benchmarks schlechter wurde. Insbesondere die Ryzen-Prozessoren landeten nicht wo sie laut den einzelnen Benchmarks sein sollten, aber auch einzelne Intel-Prozessoren hatten seltsame Bewertungen.

So funktionierte das Schema zuvor: Die Bewertungen jedes einzelnen Benchmarks wurden in eine Datenbanktabelle eingetragen. Dann wurden sie gewichtet, das bedeutet, dass eine Top-Bewertung erstellt wird, die auf einem umfassendem Benchmark basiert, wenn der stärkste Prozessor im Einzelbenchmark nicht auch generell der stärkste ist. Sonst würde dieser als stärkster generell gesehen, nur weil ein besserer im Benchmark fehlte. Danach wurden die einzelnen Bewertungen addiert, der Durchschnitt gebildet und mit dieser Bewertung eine global sortierte Liste erstellt. Diese Liste war der Meta-Benchmark, wobei dann noch interne Logik auf Konsistenz prüfte, also dass z.B. der i5-7500 nicht vor dem i5-7600 landete.

Dieses Vorgehen hatte ein Problem, das jetzt sichtbar wurde: Löcher in Benchmarks können die globale Ordnung kaputtmachen. Ein Beispiel: Im Benchmark A hat der Prozessor X 100 Punkte, der Prozessor Y 70, Prozessor Z 60. Im Benchmark B hat der Prozessor X ebenfalls 100 Punkt, der Prozessor Y fehlt, der Prozessor Z hat 90. Bildet man jetzt jeweils den Durchschnittswert, landet man bei X: 100, Z: 75, Y: 70. Das ist höchstwahrscheinlich falsch. Der Prozessor Y hätte doch sicher im Benchmark B eine 97 bekommen, nur dass er dort eben fehlte. In offensichtlichen Situationen verhinderte die interne Konsistenzprüfung solche Fehler, aber immer griff das eben nicht.

Das neue Schema funktioniert anders. Statt direkt mit den Benchmarkbewertungen zu arbeiten, nutzt es die Reihenfolge in den Benchmarks und zählt. Im obigen Beispiel wüsste X, das Y und Z zweimal langsamer waren, Y hätte Z einmal hinter sich gesehen, und Z niemanden hinter sich. Daraus kann man dann die globale Ordnung X, Y, Z erstellen.

Das kann man sich mt einem zweiten Beispiel als Graph vorstellen:

/blog/upload/metabenchmark-graph_tiny.png

Jeder Pfeil bedeutet: “Wurde in einem Benchmark als langsamer gesehen”. 0 ist langsamer als 1 und 3; 3 weiß, dass 0, 1 und 2 langsamer sind; 4 weiß, dass 1, 2 und 3 langsamer sind. Die globale Ordnung daraus wird dann 0, 1, 2, 3 und 4.

Mehr Benchmarks

Mit der neuen Datenstruktur wird der Meta-Benchmarks durch mehr Einzelbenchmarks verbessert, nicht inkonsistenter. Zumindest, solange die Benchmarks selbst korrekt sind. Und diese Einzelbenchmarks dürfen weniger komplett sein, also weniger Prozessoren enthalten. Gleichzeitig gab es für Ryzen eine Vielzahl neuer Benchmarks von professionellen Magazinen, von denen einige jetzt im System integriert sind. Zusammen ergibt das ein umfassendes Bild. Eine Auswahl:

Separate Anwendungsbenchmarks

Ryzen machte noch etwas anderes deutlich: Es gibt einen großen Unterschied zwischen der Prozessorleistung in Spielen und sonstigen Anwendungen. Combuterbase titelte über den R7 König in Anwendungen, Prinz in Spielen, weil der R7 eben in Spielen nur etwa so stark ist wie ein schneller i5, in Anwendungen aber Intels teurere Hexa-Core-Prozessoren schlägt.

Nun hatten wir schon ein System, um zwischen Spielen und Anwendungen zu unterscheiden. In den Erweiterten Einstellungen kann der Fokus ausgewählt werden:

/blog/upload/fokus-example_tiny.png

Bisher änderte das aber nur das Verhältnis zwischen Prozessor und Grafikkarte zugunsten des ersteren. Ryzen machte klar: Das reicht nicht. Denn in Spielen ist z.B. der i7-7700Kschneller und soll vor dem R7 1700X gewählt werden, in Anwendungen aber nicht. Daher nutzt der Hardwareempfehler ab sofort separate Anwendungsbenchmarks, sobald der Fokus auf Anwendungen gestellt wird. Dadurch wird insbesondere Ryzen richtig positioniert.

Das System funktionierte schon vorher gut. Mit diesen Verbesserungen jedoch sind die Bewertungen genauer geworden, und in Zukunft lassen sich einfacher weitere Benchmarks hinzufügen.