TiGü gibt ja schon gute Tipps. Optimieren hat erst Sinn, wenn man weiß, wo die Zeit tatsächlich liegen bleibt. Worauf ich hinauswill, ist, dass es meist mehr bringt, Dinge grundsätzlich umzubauen.
Ich sehe im Code zB einen try/finally Block. Wenn es gelingt, den wegzulassen oder außerhalb einer Schleife in der aufrufenden Methode zu platzieren, dann hast du viel mehr gewonnen, als das Optimieren der Länge-suchen.
Kandidaten für´s Optimieren sind in dieser Reihenfolge:
1) Schleifen
2) try/finally/except
3) Lese/Schreiboperationen/Datenbankzugriffe
4) Prozeduraufrufe
Änderungen hier betreffen meist größere Codeblöcke --> Presslufthammer