Philipp Hasenfratz: Benchmark

Beitrag lesen

Halihallo Andreas

[...]

Ein typischer Ergebnis:

data-string:             57877 bytes
compressed string:       7036 bytes
base64-string:           9384 bytes
"+" in base64-string:    142
"/" in base64-string:    147

Urlencode:          0.000187039375305 seconds
1 regExp(perl):     0.000286936759949 seconds
2 regExp(perl):     0.000213980674744 seconds
1 regExp(posix):    0.000173926353455 seconds
2 regExp(posix):    0.00799000263214 seconds
Explode-Implode:    0.00036096572876 seconds

So wie es aussieht ist urlencode schon das beste, was mich aber _sehr_ verwundert ist das Abschneiden der beiden POSIX Varianten, die ja angeblich deutlich langsamer sind als die PERL-Kompatiblen mit preg_

Aber die erste Variante ist die insgesamt schnellste! und die 2. dauert 50 mal so lange?!?!?! Wie kann das bitte sein? Vor allem ist das bei der PERL-Kompatiblen Variante genau umgekehrt, wenn auch nicht so ausgeprägt, aber die Tendenz bleibt bei allen Wiederholungen in etwa gleich!

Was passiert, wenn du das ganze Zeug in eine for-Schlaufe packst und etwa 1'000'000 mal iterieren lässt? - So genau kann auch Microtime nicht sein, dass du die Ablaufgeschwindigkeit eines einzigen Befehls signifikant messen kannst.

Viele Grüsse

Philipp