Mailinglisten-Archive |
Hi Thomas, On Tue, Oct 21, 2003 at 05:41:41PM +0200, Thomas Langfeld wrote: > > > Die Lösung $new = preg_replace('/\r\n|\r|\n/', '<br>', $string); > > > von Thomas Langfeld ist IMHO das optimum. > > > > Eine Lösung ist es, aber mich würde interessieren inwiefern diese > > Lösung das Optimum darstellt. > > > > Ich behaupte, dass folgendes bezüglich Performance ca. ein Fünftel > > der Zeit benötigt: > > > > $txt = str_replace ('\r\n', '\n', $txt); > > $txt = str_replace ('\r', '\n', $txt); > > > > $txt = str_replace ('\n', '<br>', $txt); > > Hmm, Behauptungen interessieren aber solange nicht, bis sie bewiesen, oder > wenigstens durch Tests untermauert wurden. Stimmmt. War auch provokativ formuliert. Natürlich habe ich es vorher getestet. Und zwar mit dem max_Loadchecker http://phpresource.partners.phpclasses.org/browse.html/package/85 Und mit folgendem Skript: <?php include ("/var/www/max/LoadChecker.inc"); $Clock = new max_LoadChecker; function txt2html($txt) { $txt = preg_replace('/\r\n|\r|\n/', '<br>\n', $txt); return $txt; } function txt2html2($txt) { $txt = str_replace ('\r\n', '\n', $txt); $txt = str_replace ('\r', '\n', $txt); $txt = str_replace ('\n', '<br>\n', $txt); return $txt; } $text = '<b>ADULTE:</b> Aphonopelma seemani (Weibchen) <b>SPIDERLINGE:</b> Avicularia geroldi Brachypelma albopilosum Brachypelma smithi Grammostola rosea Lasiodora klugi Lasiodora parahybana Psalmopoeus irminia <b>SONSTIGES:</b> Aufzuchtfaunaboxen für Spiderlinge -------------------------------------------------------- Beschreibungen, Bilder und Preise unter <b>www.vs-planet.de</b> (Tiere abzugeben) '; $Clock->Set('Title', __LINE__); for ($i=0;$i<10;$i++) { $formatiert = txt2html ($text); } $Clock->Set('txt2html', __LINE__); for ($i=0;$i<10;$i++) { $formatiert2 = txt2html2 ($text); } $Clock->Set('txt2html2', __LINE__); $Clock->MaxLoad ("3", "new"); ?> > Also: Testen und dann Ergebnisse her. Die Ergebnisse schwanken zwischen Faktor fünf und Faktor 30 zugunsten str_replace. > BTW: > Ich wiederum wage mal zu behaupten, dass ein etwaiger Performace-Unterschied > erst ab einer bestimmen Textlänge (einer SEHR großen Textmenge) überhaupt > erst spürbar wird. Und bei vielen Seitenaufrufen. > Und wenn ich die Wahl habe zwischen einem 3-Zeiler, der vielleicht im > Hinteren-Nachkomma-Tausendstel-Mili-Sekunden-Bereich schneller ist und einem > Einzeiler, um ein Problem zu lösen, brauche ich wirklich nicht lange zu > überlegen ... Ich auch nicht. Könnte aber sein, dass meine Überlegungen zu einer anderen Entscheidung führen. ;-) Grüße, Martin
php::bar PHP Wiki - Listenarchive