Ihr PC könnte schneller sein, aber Softwareunternehmen ist das egal

Die einfachste Logik besagt, dass Anwendungen ihre Durchschnittsgeschwindigkeit erhöhen sollten, wenn Computer leistungsfähiger werden. Es gibt jedoch viele Aufgaben, die ihre Leistung anscheinend nicht gesteigert haben. Das heißt, es gibt uns das Gefühl, dass sie dabei nicht besser laufen als mit unserem vorherigen PC. Dieses Phänomen wird umgangssprachlich als Wirthsches Gesetz bezeichnet. Warum passiert es?

In der Computertechnik gilt das sogenannte Moore'sche Gesetz, das sich auf die Komplexität der Chips bezieht und nicht auf deren Geschwindigkeit. Auch das Gesetz von Amdahl gab es lange Zeit, bis Mitte der 2000er Jahre der Sprung zu Multicore-Chips vollzogen werden musste. Sie alle sind Gesetze, sie basieren auf der Hardware, deren Aufgabe es jedoch ist, Software auszuführen, und in Bezug auf die Leistung können schlechte Praktiken bei Programmen Leistungssteigerungen ruinieren.

Ihr PC könnte schneller sein

Was ist das Wirthsche Gesetz und wie wirkt es sich auf die Leistung meines PCs aus?

Da die Hardware-Ressourcen fast unendlich geworden sind, ist die Notwendigkeit, guten Code zu schreiben, verloren gegangen. Wichtig ist nicht, dass ein Programm funktioniert, sondern dass es mit möglichst wenig Hardware-Ressourcen auskommt. Entweder Speichergröße oder Prozessorleistung. Das Problem rührt daher, dass mit steigender Hardware-Performance Probleme, die zuvor mit guter Programmierdisziplin gelöst wurden, zunehmend ignoriert werden und es sich nicht nur um ein Problem handelt, das PCs oder Handys betrifft.

So stehen wir vor dem Problem, dass Anwendungen, die einen Teil der von ihnen ausgegebenen Ressourcen verbrauchen sollen, am Ende wie Kekse für das berühmte blaue Monster aus der Sesamstraße werden. Jetzt , den Namen des Gesetzes verdanken wir Niklaus Wirth , der im Februar 1995 einen Artikel mit dem Titel schrieb Ein Plädoyer für schlanke Software das könnte man als „Petition für sauberere Software“ übersetzen.

Nehmen wir an, dass bei jeder neuen Iteration schlechte Praktiken dazu führen, dass die Programme erstellt werden, wenn die Verarbeitungskapazität der schwereren und weniger effizienten Prozessoren zunimmt. Nehmen Microsoft Word zum Beispiel verwenden 99 % der Menschen immer noch so wie vor 20 Jahren. Die Größe der Anwendung ist jedoch enorm gewachsen und PCs konnten damals die neue Version nicht gut ausführen.

Persona Escribiendo Código

Ist es etwas Unvermeidliches?

Nicht wirklich, Sie müssen nur ältere Versionen der Programme ausführen, um die Leistung zu steigern. So albern es auch erscheinen mag, manchmal ist es viel besser, alte Versionen durch Abandonware zu ziehen, um bestimmte Aufgaben auszuführen, als die neueren Versionen nicht zu verwenden. Und das Wirthsche Gesetz ist nicht nur in gängigen Anwendungen gegeben. Wir konnten sehen, wie bestimmte Neuveröffentlichungen von Spielen, bei denen es sich um remasterte Versionen von Spielen vergangener Zeiten handelt, für die neue Hardware schlecht abschneiden.

Der Fehler, dass bestimmte Dinge nicht schneller zu gehen scheinen, ist also nicht die Tatsache, dass PCs nicht plötzlich langsamer geworden sind oder uns einen Leistungsschub bescheren. Der Fehler liegt in der Software, die aufgehört hat, sich selbst zu optimieren und damit weniger effizient geworden ist. Viele Unternehmen haben aufgehört, Qualitätsabteilungen zu haben, die überprüfen, ob der Code gut geschrieben und optimiert ist. Eine gute Anwendung funktioniert nicht nur, sondern verbraucht so wenig Ressourcen wie möglich.

Und warum passiert das? Dadurch, dass Fristen und Freigaben auferlegt werden, die von den Vertriebsabteilungen abhängen. Immerhin lässt sich die Software updaten und patchen. Das Problem ist, dass viele Anwendungen, von denen wir glauben, dass sie gut funktionieren, tatsächlich schlechter abschneiden, als sie sollten.