Ashura: ereg_replace

Beitrag lesen

Hallo.

Wie sieht dein Versuchsaufbau aus?

Ich kann hier zumindest schon einmal meinen präsentieren.
(Das ursprüngliche Skript stammt von Marc Reichelt.)

<?php  
  
// Performance-Test  
  
header("Content-type: text/plain");  
echo "Starte Geschwindigkeitstest...\n";  
  
$string = "Hello Welt";  
  
$times = 1000000;  
  
  
// erster Durchlauf  
  
$begintime = explode(" ", microtime());  
$begintime = (float)$begintime[0] + (float)$begintime[1];  
  
for($i=0; $i<$times; $i++)  
{  
  str_replace("Hello","Hallo",$string);  
}  
  
$endtime = explode(" ", microtime());  
$endtime = (float)$endtime[0] + (float)$endtime[1];  
  
$firsttime = $endtime - $begintime;  
  
  
// zweiter Durchlauf  
  
$begintime = explode(" ", microtime());  
$begintime = (float)$begintime[0] + (float)$begintime[1];  
  
for($i=0; $i<$times; $i++)  
{  
  preg_replace("/Hello/","Hallo",$string);  
  
}  
  
$endtime = explode(" ", microtime());  
$endtime = (float)$endtime[0] + (float)$endtime[1];  
  
$secondtime = $endtime - $begintime;  
  
  
  
// Ausgabe  
  
echo "Erster Durchlauf (str_replace)  :  $firsttime Sekunden\n";  
echo "Zweiter Durchlauf (preg_replace): $secondtime Sekunden\n";  
echo "Prozentual (1/2):  ". $firsttime/$secondtime ."\n";  
  
?>

Ich habe mehrere Test durchlaufen lassen und das Ergebnis spricht eindeutig für den enormen Geschwindigkeitsvorteil von str_replace gegenüber preg_replace. (Ersteres ist ca. doppelt so schnell wie Zweiteres.)

Einen schönen Samstag noch.

Gruß, Ashura

--
Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
Meine Browser: Opera 8.01 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
[Deshalb frei! - Argumente pro freie Software]