Bash-Skripte im Schlangengriff

Mit Python- statt Bash-Skripten Programme aufrufen und Ergebisse auswerten

Wissen | Know-how

Aus Python heraus ruft man auch ohne große Mühe Programme auf, die in anderen Sprachen geschrieben wurden. Für typische Programmieraufgaben brauchen Python-Programme aber wesentlich weniger Code als Bash-Skripte. Daher eignet sich Python, um mit eleganterem Code Bash-Skripte zu ersetzen.

Zum Testen neuer Nvidia-Grafikkarten (siehe S. 92) führen wir in der c’t-Redaktion unter anderem den Machine-Learning-Benchmark DeepBench aus. Der in C programmierte Benchmark besteht aus drei ausführbaren Einzeltests, die je zwei Parameter akzeptieren und jeweils eine ganze Batterie an Zeitmessungen ausspucken, beispielsweise für Matrixmultiplikationen mit verschieden großen Matrizen. Um verfälschte Ergebnisse durch zufällig dazwischengrätschende Systemprozesse zu vermeiden, führen wir jeden Benchmark dreimal aus und verwenden von jedem Einzelwert das beste Ergebnis. Diese Ergebnisse dampfen wir mit dem geometrischen Mittel auf einen einzelnen Wert pro Test ein, um ein Gesamtergebnis für die Performance einer Grafikkarte bei dieser Art von Berechnung zu erhalten. Man könnte die dafür nötigen 45 Tests per Hand starten, die Ergebnisse in Excel kopieren und dort auswerten. Mit einem Python-Skript macht der Testrechner das aber automatisch. Unser Beispiel zeigt, wie leicht Python Bash-Skripte und Batch-Dateien ersetzt.

Ein Bash-Skript könnte mit ein paar Schleifen relativ leicht die 45 Einzeltests starten. Beim Auswerten der Ergebnisse müsste man aber einige recht magische sed-Befehle erfinden, um aus den Konsolenausgaben der Benchmarks die Zahlenwerte der Ergebnisse herauszupicken. Spätestens beim Berechnen des geometrischen Mittels wird man sich eine Bibliothek wie NumPy wünschen, die es in so angenehmer Form nicht für die Bash gibt. ...

Sie möchten wissen, wie es weitergeht?

Bash-Skripte im Schlangengriff

1,49 €*

c't 09/2018, Seite 178 (ca. 1.5 redaktionelle Seiten)
Direkt nach dem Kauf steht Ihnen der Artikel als PDF zum Download zur Verfügung.

Artikel-Vorschau
  1. Ausgaben auswerten
  2. Matrixrechnen
  3. Nie wieder Handarbeit

Lesen Sie hier die Verbraucherinformationen

* Alle Preise verstehen sich inklusive der gesetzlichen MwSt.

Als c't-Plus-Abonnent gratis lesen

weiterführende Links

Anzeige
Anzeige