Bei mir jetzt auch ein Artikel über Profiling. Soeben erlebt: Eine relativ kleine Webseite mit eigenem ollen CMS brauchte relativ lange (1,25 Sekunden) um eine Seite zu generieren. Zunächst die Datenbankabfragen angeschaut – nichts schlimmes gefunden. Also schnell den (proprietären) Profiler angeschmissen. Es zeigte sich folgendes Bild:
1,2 Sekunden? Arg viel. Ein Blick in die betreffende Zeile:
$string = strtr($string, $replace);
Hmm, da scheint strtr wohl nicht so performant zu sein. Noch nett ausgedrückt. Ausweichcode ausprobiert:
foreach ($replace as $key => $value) {
$string = str_replace($key, $value, $string);
}
Dauert jetzt 12ms. Unglaublich.
Links
http://www.cznp.com/blog/3/strtr-vs-str_replace-a-battle-for-speed-and-dignity
http://www.simplemachines.org/community/index.php?topic=175031.0