Messen statt Mythen: Code-Performance mit der Google Benchmark Library testen

Wer die Geschwindigkeit seines Codes messen will, kann hierfür die Google Benchmark Library heranziehen. Die aktuelle iX erklärt die Testpraxis.

In Pocket speichern vorlesen Druckansicht 3 Kommentare lesen
Messen statt Mythen: Micro-Benchmarking mit der Google Benchmark Library
Lesezeit: 2 Min.

Jeder Entwickler will die Performance seines Codes optimieren – doch zu oft sorgen Mythen und Vermutungen für Falschaussagen. Statt die mangelhafte Geschwindigkeit einer Applikation direkt dem Netzwerk, den Dateizugriff oder gar der Arbeit der Kollegen zuzuschreiben, sollten Programmierer die Leistung ihres Codes an erster Stelle immer wieder messen. Hierfür bietet sich die Google Benchmark Library an, mit der sich das Micro-Benchmarking von C++ schnell und einfach durchführen lässt. Die aktuelle iX 5/2020 erklärt, wie das funktioniert.

Die Bibliothek vergleicht die Leistung kleiner Codeschnipsel miteinander. Zum Einstieg misst der Benchmark, wie lange das System zum Ausführen eines Schnipsel benötigt. Um jedoch belastbare Aussagen treffen zu können, läuft dieser Test mehrfach durch. ​Das Framework wählt anhand der Zeit eines Schleifendurchlaufs automatisch eine Zahl von Iterationen, die für eine gute Messung sinnvoll ist.

Anschließend schreibt der Programmierer einen oder mehrere alternative Codeschnipsel, die jedoch denselben Zweck im Programm erfüllen – mit der Erwartung, das einer der Ansätze der schnellste ist. Diese testet der Benchmark und führt alle Ergebnisse in einer Tabelle auf. Neben der Anzahl der für eine gute Messung notwendigen Durchläufe findet der Nutzer die benötigte Zeit.

Welche weiteren Testfunktionen die Google Benchmark Library bietet und Praxisbeispiele dazu, wie sie Entwickler im eigenen Programmcode verwenden können, finden Leser im Artikel.

Siehe dazu auch:

(fo)