Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#44

AW: PHP - sind hier "Sicherheitsexperten" an Board?

  Alt 4. Jul 2010, 11:32
Dein Vergleich hinkt aber etwas.

Wenn man das preg_match nutzt, um etwas zu suchen, dann kann man es doch nicht mit einem einfachen Vergleich (=) vergleichen?

strpos oder so wäre da wohl ein besserer Vergleichspartner.

Code:
$preg = '#Foobar#i';
$pos = 'Foobar';
$toMatch = ' Foobar ';

$num = 100000;

$pregStart = microtime(true);
$i = 0;
while ($i < $num) {
    preg_match($preg, $toMatch);
    $i++;
}
$pregStop = microtime(true);

$eqStart = microtime(true);
$i = 0;
while ($i < $num) {
    strpos($toMatch, $pos);
    $i++;
}
$eqStop = microtime(true);

echo 'Time preg: '. ($pregStop-$pregStart) .' seconds<br />';
echo 'Time pos: '. ($eqStop-$eqStart) .' seconds<br />';
Time preg: 0.090588092803955 seconds
Time pos: 0.047449111938477 seconds

Gut, hier ist es zwar immernoch knapp doppelt so langsam ... ~2:1,
aber das 17:1 kann ich so nicht bestätigen.


Aber mal ganz im Ernst, fallen die 0.5 Microsekunden mehr pro Vergleich, bei den wenigen Vergleichen und vorallem für soein kleines Projekt, wirklich noch auf?
Bei z.b. 20 Vergleichen (ich hatte viel weniger drin) macht das hier grade mal 10 Microsekunden aus, was durch die "langsame" Internetverbindung allemale überboten wird.

Mit einem etwas längerem Text vor dem Gesuchten, kam ich maximal auf die 4-fache Zeit. (also in dem Größenbereich/Länge, welchen ich erwarten würde)



Ich spare auch gerne hier und da mal 'nen bissl Zeit ein, aber hier (vorallem in meinem Fall) fällt es schlußendlich garnicht auf.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 4. Jul 2010 um 11:36 Uhr)
  Mit Zitat antworten Zitat