23.3 Funktionsaufrufe 

Damit ist das obige Beispiel aber noch keineswegs vollständig optimiert, denn auch Funktionsaufrufe sind vergleichsweise laufzeitintensiv. Aus diesem Grund sollten Sie Funktionsaufrufe in häufig durchlaufenen Schleifen stets gründlich auf ihre Notwendigkeit prüfen. In diesem Fall wäre es am besten, die Funktion zu »inlinen«, das bedeutet, den Funktionsinhalt direkt in die Schleife zu schreiben:
alle_strings = ["Hallo Welt"]*200000 lst = [None]*len(alle_strings) for i in xrange(len(alle_strings)): lst[i] = alle_strings[i].upper() string = "".join(lst)
In diesem Fall wurde auf den Funktionsaufruf verzichtet und der Inhalt der Funktion direkt in die Schleife geschrieben. Die Laufzeit dieses Beispiels ist noch einmal um ca. 25 % geringer als die des optimierten Beispiels aus dem vorherigen Abschnitt.




bestellen





