511 Beiträge rss | 32 Nutzer online

Reguläre Ausdrücke bremsen Programme

PHP-Programmierer sollten Reguläre Ausdrücke vermeiden, wenn es um einfache Ersetzungs- oder Suchoperationen geht. Denn die Regulären Ausdrücke sind langsamer. Internet Professionell hat den Geschwindigkeitsunterschied in einer Stichprobe ermittelt.

Das Testprogramm führt in einer Schleife 5000mal eine Ersetzungsoperation durch:

<?php

$strSatz = "Ein Boot auf dem See";

for ($i=0; $i < 5000; $i++)

{

$dummy = preg_replace('/Boot/', 'Schiff', $strSatz);

//$dummy= $dummy = str_replace('Boot', 'Schiff', $strSatz);

}

echo 'Fertig';

?>

Das Programm wurde in zwei Versionen gespeichert, einmal mit der preg_replace und einmal mit dem einfachen str_replace. Als Benchmark-Programm diente das zum Apache-Server gehörende "ab2", das die Programme jeweils 10.000mal vom lokalen Server abrief.

In der Version mit dem Regulären Ausdruck brauchte das Programm 130 Sekunden. Die Variante mit der normalen Ersetzung war mit 111 Sekunden 19 Sekunden oder 15 Prozent schneller.

 


blog comments powered by Disqus
Copyright © goldmann.de 1999-2010   | powered by Tippscout 5.0
Zurück Startseite