Categories
Programmierung

1,2 Sekunden (eine Ewigkeit)

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