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]
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]