Green Coding – energiereduzierte Softwareentwicklung
Das Ziel von Green Coding – auch „Sustainable Programming“ genannt – ist es, den Energieverbrauch einer Software zu verringern. Im Zentrum stehen die Bereiche der Softwarearchitektur, Softwarekomponenten und die Betriebsplattform. Dabei wird die Reduktion des Energieverbrauchs als nicht funktionale Anforderung – analog Performance, Effizienz und Sicherheit – behandelt.
„Jede Codezeile hat das Potenzial, den Energieverbrauch zu senken“
Das Green Coding beginnt bereits in der Designphase. Designer und Entwickler können bei der Aufnahme der fachlichen und technischen Anforderungen beispielsweise dynamisches Nachladen bei einer Webanwendung kritisch hinterfragen. Außerdem wird überprüft, ob jede Datenverarbeitung in Echtzeit passieren muss. Weitere Maßnahmen auf technischer Ebene, wie z.B. Serveranfragen reduzieren, Algorithmen im Sinne eines geringen Energieverbrauchs wählen und Caches oder Komprimierungsverfahren verwenden, können unterstützen. Auch der Einsatz von Datenbankindizes und eine optimierte Softwarekonfiguration für den Dauerbetrieb – zum Beispiel korrekt konfigurierte Loglevel oder optimierte Datenbankeinstellungen – helfen, den Energieverbrauch zu senken.
Während der Realisierungsphase ist es wichtig, den Energieverbrauch messbar zu formulieren und auch während der Umsetzung zu überprüfen.
Der Energieverbrauch kann beispielsweise mit dem von msg entwickelten jPowerMonitor gemessen werden, welcher innerhalb laufender Java-Applikationen gerade aktive Funktionen und deren CPU-Zeitverbrauch überwacht.