Benchmarks – der Teufel steckt im Detail
Kommentare

Über die Qualität von Benchmarks wird ja viel diskutiert, valide sollten sie sein, exakt und ordentlich durchgeführt. Hört sich eigentlich nicht so schwer an aber der Teufel steckt im Detail. Lauschen

Über die Qualität von Benchmarks wird ja viel diskutiert, valide sollten sie sein, exakt und ordentlich durchgeführt. Hört sich eigentlich nicht so schwer an aber der Teufel steckt im Detail. Lauschen wir mal einem Gespräch zwischen dem unerfahrenen Benchmarker und dem Detailteufel.

Unerfahrener Benchmarker: beim Start eines Benchmarks habe ich noch keine genaue Vorstellung über den Ausgang.

Detailteufel: Wenn es nur deinem persönlichen Vergnügen gilt, mach nur weiter so aber: Benchmark ist nicht gleich Benchmark. Die Arbeitsbelastung, der Beispieldatensatz und die Verteilung von Arbeit und Daten müssen relevant, aussagekräftig und vor allem zweckdienlich sein. Ein falscher Benchmark bringt keine Information.

Unerfahrener Benchmarker: die Informationen sind nur für mich. Alles genau aufzuschreiben ist zweitrangig.

Detailteufel: Wenn du anschließend alles in die Tonne kloppen willst gebe ich dir Recht. Wenn du es aber anständig machen willst solltest du es dokumentieren. Welche Hardware, unter welchen Arbeitsbelastung, welches Betriebssystem, Kernel-Version, alle MySQL-Tuning-Parameter, und so weiter.

Unerfahrener Benchmarker: Aber das kann ich mir doch auch merken. Ich weiß ja welches Betriebssystem ich verwendet habe.

Detailteufel: Auf die Gefahr mich zu wiederholen: Holzkopf! Ein Benchmark muss wiederholbar sein. Nicht nur du, sondern auch ein anderer Entwickler sollte die Ergebnisse reproduzieren können. Wenn du es nicht kannst – kann es niemand!

Unerfahrener Benchmarker: Das ist aber ganz schön viel Arbeit!

Detailteufel: Wenn du das schon viel findest, pass auf was jetzt kommt: Zusätzlich müssen alle relevanten Daten, wie zum Beispiel die I/O und CPU-Auslastung, Speicherauslastung etc. für eine spätere Analyse gesammelt werden. Mit was will man bei Fragen sonst argumentieren?

Unerfahrener Benchmarker: Analysieren?

Detailteufel: Teufel noch eins, du bist eine harte Nuss. Natürlich müssen alle Ergebnisse auch analysiert werden. Passen sie zu dem was erwartet war und machen sie generell Sinn. Da könntest du diesen viel gelobten „gesunden Menschenverstand“ verwenden.

Unerfahrener Benchmarker: Und was mache ich wenn Murks rauskommt?

Detailteufel: Viele Benchmarks liefern scheinbar unerklärbare Resultate. Du solltest versuchen sie erst einmal zu verstehen. Vielleicht hattest du den Benchmark falsch konzipiert? Dann musst du ihn neu machen oder wegschmeißen …

Alle Ähnlichkeiten mit lebenden Personen sind rein zufällig und frei erfunden. Inspiriert ist unsere kleine Geschichte von dem Blogeintrag „What’s a good benchmark?“.

… dennoch passiert so etwas auch in der realen Entwicklerwelt. In unserem Quickvote wollen wir es genau wissen: Ist es viel zu zeitaufwendig und überbewertet in Benchmarks alles zu dokumentieren? Was berücksichtigt ihr so bei euren Benchmarks? Und sind Benchmarks eigentlich sinnvoll? Wenn ja, für wen – etwa für uns alle? Fragen über Fragen …

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -