Christian Kruse: Ersetzen

Beitrag lesen

Joho Philip,

Bei Webanwendungen mit Ausgabe des Textes, ist es schneller, wenn du alles
auf einmal ausgibst, dann muss der Webserver nicht alle Daten separat
chachen, sondern kann ganze Blöcke verarbeiten. Das ist etwas schnellerer.
Besonders, wenn die Funktion $¦=1 gesetzt ist, solltest du Textausgaben
blockweise dem Webserver übergeben.

Was bitte meinst du damit?

$¦=1 setzt das Caching ausser Betrieb. Es werden also viel mehr Daten übers
Web versendet, was ziemlich viel Performance verbraucht.

Ich glaube, du hast da was verwechselt. $| ist fuer die Ausgabepufferung, das
hat nichts mit Caching zu tun. Wenn du z. B. ein

print "a";

machst, dann kann es sein, dass die Ausgabe erst am Ende des Programmes
gemacht wird. Das kann bei $| = 1 nicht mehr gehen - der Puffer wird gelehrt.

Der low-level Performance-Anspruch (auf Maschinenebene) beim Ersetzen ist
etwa der selbe. Gute Algorithmen sind jedoch etwas schneller bei kleinen
Texten.

Der s///-Operator ist auf wenige grosse Texte schneller ist als auf viele
kleine.

Testen kann man das mit Benchmarks. Es gibt ein Modul auf CPAN hierzu (ist
auch auf den meisten Systemen vorinstalliert).

Das Modul heisst (natuerlich ;-) Benchmark.

Gruss,
 CK