Hinweis zu Affiliate-Links: Alle Produkte werden von der Redaktion unabhängig ausgewählt. Im Falle eines Kaufs des Produkts nach Klick auf den Link erhalten wir ggf. eine Provision.

Wer seltener duscht, darf auch schlecht coden

von Kathrin Passig
Schlecht Programmiertes frisst unnötig Strom. Doch ist Energiesparen immer sinnvoll? Natürlich: nicht.

Dieser Artikel erschien zuerst in der gedruckten Ausgabe des WIRED Magazins im Oktober 2015. Wenn ihr die Ersten sein wollt, die einen WIRED-Artikel lesen, bevor er online geht: Hier könnt ihr das WIRED Magazin testen.

Dass man Strom sparen und das Licht nicht unnötig brennen lassen soll, weiß jeder. Dass aber auch schlechter Code zu unnötigem Energieverbrauch führt, wird immer wieder unterschlagen. Dabei verbraucht eine vollständig ausgelastete CPU so viel Strom wie eine Glühbirne, nämlich ungefähr 100 Watt.

Wenigstens hilft der Computer nebenbei beim Heizen der Wohnung.

Sitzt man direkt vor dem Rechner, in dem diese CPU steckt, dann macht sich fahrlässige Programmierung schnell bemerkbar: Alles wird langsamer, der Lüfter springt an, man wartet sehr lange, bis man ein Ergebnis zu sehen bekommt. Wenigstens hilft der Computer auf die Art nebenbei beim Heizen der Wohnung: Schlechten Code lokal laufen zu lassen, lohnt sich also nur in den Wintermonaten. Hat man hingegen einen Rechner in einem Serverzentrum gemietet und belas­tet die Hardware dort, profitiert man nicht von der Abwärme und wird von Missständen wenig mitbekommen.

Man muss dann selbst nachsehen, zum Beispiel unter Zuhilfenahme des Unix-Befehls top, welche Prozesse das Gerät wie heftig beanspruchen. Wenn man keinen ganzen Server für sich gemietet hat, sondern nur einen kleinen digitalen Bretterverschlag auf einem großen Gemeinschaftsserver, erfährt man von den Auswirkungen des eigenen schlechten Codes womöglich erst durch vorwurfsvolle Mails der Webhosting-Firma – weil im Landkreis des Serverzentrums bei jedem Aufruf der suboptimalen Programmierung die Lichter dunkler werden.

Energiezehrender Code ist selten guter Code und sollte schon allein deswegen eliminiert werden. Am gefräßigsten sind fahrlässig eingesetzte while-Schleifen, in denen zum Beispiel wochenlang Primzahlen durch andere Zahlen dividiert werden. Hat man solche groben Probleme beseitigt, kann man noch ein bisschen nachmessen, an welchen Stellen sich die Laufzeit des Programms weiter verringern ließe.

Oder überlegen, ob man wirklich dauernd irgendwelche Verbindungen von A nach B aufbauen muss, obwohl man vielleicht alles, was man von B braucht, einmalig am Anfang von A holen könnte. Schon geht alles schneller und schöner. Und nebenbei hat man mit dem neuen umweltschonenden Code ungefähr eine Primel gerettet.

Leider ist der effizientere Code nicht immer auch der verständlichere. Benötigt man zum Verstehen umweltfreundlicher, leider aber undurchschaubarer Zeilen große Mengen Kaffee, verhagelt der Stromverbrauch fürs Aufbrühen die ganze Öko-Bilanz wieder. Zudem muss man überlegen, ob nicht schon beim Umschreiben des Codes mehr Energie verbraucht wird, als nachher voraussichtlich eingespart werden kann. Es ist – wie immer eigentlich – kompliziert.

Ein Duschvorgang verbraucht ein bis zwei Kilowattstunden, dafür kann man sehr viel schlechten Code schreiben.

Wer Code für sehr kleine Geräte wie Arduino oder Rasp­berry Pi schreibt, ist schon auf der umweltfreundlicheren Seite. Oder man verlegt sich auf Smartphone-Apps, denn erstens benötigen Handys vergleichsweise wenig Strom, zweitens werden die Nutzer einen schnell und deutlich darauf hinweisen, wenn die App innerhalb von fünf Minuten ihren Akku leer saugt. Doch Vorsicht: Lässt man einfach alle rechenintensiven Teile der Anwendung auf dem Server laufen, ist wieder nichts gewonnen.

Immerhin setzen die Betreiber von Serverzentren inzwischen oft auf grünen Strom. Man kann also mit einer geschickten Auswahl des Hosts sein Gewissen beruhigen und braucht sich nicht um zweifelhafte Schleifen in seinem Code zu kümmern. Oder man programmiert ordentlich und kann die so eingesparte Menge Energie darauf verschwenden, einmal unnötig mit dem Auto zum Supermarkt fahren. Nur ungewaschen zu programmieren, ist eine weitere Methode: Ein Duschvorgang verbraucht ein bis zwei Kilowattstunden, dafür kann man sehr viel schlechten Code schreiben.

Manchmal ist im Netz ja aber sogar Strom übrig. Die Energieversorger wissen dann kaum, wohin damit, etwa nachts. Man tut der Welt praktisch einen Gefallen, wenn man zu diesen Zeiten miesen Code laufen lässt.

Kathrin Passig und Anne Schüssler schreiben leidenschaftlich Blogs, Tweets und Code. In WIRED haben sie als Kolumnisten regelmäßig Überlebenstipps für Nachwuchsprogrammierer gegeben.

GQ Empfiehlt