Philipp Hasenfratz: Ersetzen

Beitrag lesen

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?

Wenn $¦=1 nicht gesetzt ist, werden immer ganz grosse Datenblöcke versendet. Wenn $¦=1 ist, werden viele kleine Versendet, jeder Datenblock hat einen Header, der auch noch Platz verbraucht und somit das senden verlangsamt. => Wenn wenige grosse Blöcke übers web gesendet werden ist das schneller, als viele kleine!

$¦=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

Ja, sorry, hab mich falsch ausgedrückt. Wahr wohl etwas müde gestern.

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.

Faszinierend. Würde mir mal gerne den verantwortlichen Code ansehen. Ich habe zwar keine Tests durchgeführt, aber meiner Logik her, sollte das anders herum gehen.

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.

Nicht wahr??? :-)

Gruss

Philipp