News
Energie sparen mit Open-Source-Software
12.12.2007
Autor: Kurt Garloff

Programmierer haben die Effizienz oft nicht im Blickfeld

Von solchen Ausnahmen abgesehen, tritt in der Praxis viel häufiger der Fall auf, dass der Programmierer die Effizienz gar nicht im Blickfeld hat: Da wird ein Feld linear durchsucht, statt es sortiert zu halten und es binär durchsuchen zu können oder mit einer Hashtabelle zu indizieren. Statt eine gut optimierte Routine aus einer Standardbibliothek zu benutzen, wird eine schlechtere Variante selbst programmiert. Oder man baut ein unnötig kompliziertes Framework, obwohl das Problem einfach zu lösen ist. Da wird eine Java Virtual Machine gestartet, wenn eine einfache Skriptsprache oder ein kleines C/C++-Programm den Job tun würden. Deshalb der Tipp: Keep it simple! So sind Standardroutinen meist in Form von Bibliotheken verfügbar. Diese sind in der Regel besser getestet und besser optimiert. Es gibt aber noch einen weiteren Vorteil: Wenn mehrere Anwendungen dieselbe Bibliothek benutzen, muss die nur einmal in den Speicher geladen werden. Und weniger Speicherverbrauch ist gut.



Der Chiphersteller Intel hat die Initiative "lesswatts.org" gestartet, welche mittlerweile von vielen Hard- und Softwareherstellern unterstützt wird. Hervorgegangen ist daraus das Programm "powertop", welches unter Linux anzeigen kann, welche Anwendungen für das Aufwachen der Prozessoren aus dem Schlafmodus verantwortlich sind. Das hat sogleich einige Programme als regelmäßige "Schlafstörer" entlarvt. Da gibt es zum Beispiel ein Mixer-Applet auf dem Desktop, welches mehrmals in der Sekunde weckte, um nachzuschauen, ob die Lautstärke nicht von einem anderen Programm verändert wurde.

Regelmäßiges Nachschauen (Polling) ist immer ungünstig, denn eigentlich sollte das Applet gezielt nur dann benachrichtigt werden, wenn wirklich etwas ansteht. Eine ereignisgesteuerte Architektur arbeitet so. Moderne Systeme bieten dafür viele Mechanismen. So kann ein Programm sich zum Beispiel nur dann benachrichtigen lassen, wenn sich eine Datei oder ein Verzeichnis verändert.



zurueck
1 | 2 | 3 | 4 | 5
weiter
 
Aktuelle Magazine und Hefte von IDG
Not found: /idgwpcit/html-data/html/issues/digitalworld.html
Executive Briefings