Skip to content


Pre-Optimization - Erkennen und Vermeiden

More computing sins are committed in the name of efficiency (without necessarily achieving it) than for any other single reason - including blind stupidity. W.A. Wulf - Quotes

Der Mensch ist faul und das ist gut so. Denn so denkt er ständig darüber nach, wie er Ziele mit dem geringsten Aufwand erreichen kann. Dabei geht es um den sparsamen Einsatz von Resourcen und ist so in vielen Bereichen der Natur anzutreffen. Wo Resourcen im Überfluss vorhanden sind, hält meist Verschwendung Einzug. Ein plötzlicher Lottogewinn hat zu selten zu langfristigem Glück und Wohlstand geführt. Genauso wenig ist eine künstliche Verknappung von Resource automatisch der Weg zu Glück und Erfolg.

Auch wenn man im Bereich der Softwareentwicklung meist nicht genug Resourcen hat, entstehen deshalb nicht automatisch optimale Lösungen. Das Problem ist komplizierter, aber gerade aus diesem Grund auch so spannend. Die folgende Darstellung veranschaulicht, mit welchem Themenkomplex wir es zu tun haben.

pre-optimization - übersicht

Ziele sind in den meisten fällen unscharf, der Weg zum Ziel ist komplex und mit vielen Stolpersteinen versehen. Auf dem Weg zum Ziel sind verschiedene Probleme zu lösen. Manche sind bereits bekannt, manche Problemstellungen werden erwartet. Je weiter ein Problem in der Zukunft liegt, desto höher ist das Risiko, dass man nicht nur in die falsche Richtung rennt. Denn die Energie und den Aufwand, den man in diese Problemlösung gesteckt hat, fehlt vielleicht am Ende oder sogar schon unterwegs.

Ein Wanderer hat von einer großen Wüste gehört, die er durchqueren muss. Also bepackt er sich mit Wasser und macht sich auf den Weg. Er kommt an einen Berg und stellt fest, dass er mit dem Wasser den Berg nicht hochkommen wird. Er hat also die ganze Zeit das Wasser umsonst mitgeschleppt. Wenn er an dem Wasser festhält, wird er den Berg nicht schaffen, das Ziel nicht erreichen. Hätte er gewusst, dass hinter dem Berg und vor der Wüste ein Fluss ist, hätte er das Wasser nicht eingepackt. Aber dummerweise kann man manchmal noch nicht mal den Berg sehen, hinter dem die Lösung liegt.

Daher sollte man sich immer fragen, ob man gerade ein Problem löst, dass zwischen dem Jetzt und dem nächsten Schritt liegt, den man gehen muss. Und man sollte sich fragen, ob man das Problem mit dem geringst möglichen Aufwand löst. Manchmal kann man sogar einen kleinen Umweg machen und das Problem umgehen. Alles andere löst Probleme, die man noch nicht hat.

Wenn man sich sehr viele Gedanken um die Zukunft macht, schreitet meist nur die Zeit voran.

Tags:

Veröffentlicht in Allgemein, .