CC2Net-Forum Zur Übersicht - Zurück zur Homepage
Re: Warum Print und nicht Printlength? Kategorie: Programmierung (von: André H. - 5.12.2002 13:07)
Als Antwort auf: Warum Print und nicht Printlength? von Christian H. - 5.12.2002 12:21

Hallo Christian,

> Warum ist Print eigentlich schneller?
> Der einzige Unterschied ist doch die durchlaufene Schleife:
>
> print:
> for a=0 ... s[31]-1
>  {
>  }
>
> printlength:
> for a=0 ... length-1
>  {
>  }
>
> Da sollte Printlength doch schneller sein, vorallem bei kurzen Strings. Z.b. wenn ich nur
> so 3 Zeichen hab.
> Oder bricht die Schleife bei erreichen des letzten Zeichens von selbst ab? (Nullterminierung?)
> Die Übergabe eines weiteren Parameters an die Funktion kann's doch nicht sein oder doch?
>

"printlength()" ist lansamer, weil Du zuerst mit "str.length(s)" die Länge
ermittelst, und das dauert nunmal etwas (Rechen-)Zeit.

Die for-Schleife bei "print" wird entsprechend der Anzahl der Zeichen eines Strings
durchlaufen. Bei einem String mit vier Zeichen wird die Schleife auch nur viermal
durchlaufen.
Übergibst Du bei "printlength()" einen konstanten Wert, dann sind beide Funktionen
gleichschnell.

Übrigens, dasselbe gilt auch für die hwcom und swcom-Funktionen send() und print()

MfG André H.



    Antwort Schreiben