PHP Performance Benchmarks & Optimierungstipps
Ausgaben im Vergleich
Wie Unterscheiden sich Ausagabefuntionen mit den gleichen Ausgaben in der Performance?
Dieser Frage wird in den folgenden Benchmarks auf den Grund gegangen.
Ausgabe mit echo()
<?php
$i = 0;
while($i < 100000) {
echo($i++);
}
?>
Ausgabe mit print()
<?php
$i = 0;
while($i < 100000) {
print($i++);
}
?>
Zu den folgenden formatierenden Ausgabefunktionen, lässt sich schon ein Geschwindigkeitsnachteil vermuten, da diese durch ihre Formatierungsmöglichkeiten weitaus komplexer sind.
Formatierte Ausgabe mit printf()
<?php
$i = 0;
while($i < 100000) {
printf("%d", $i++);
}
?>
Formatierte Ausgabe mit sprintf()
<?php
$i = 0;
while($i < 100000) {
sprintf("%d", $i++);
}
?>
Abschließend betrachtet lässt sich sagen, dass die formatierten Ausgaben, wie printf()/sprintf() logischerweise deutlich langsamer sind als einfache Ausgaben wie echo() oder print().
Für einfache Textausgaben, wie sie wohl häufiger sind, sollte man also auf diese zurüclkgreifen.
Variante | Laufzeit | Verhältnis |
sprintf() | 5.303144 ms | 100% |
print() | 5.370855 ms | 101% |
printf() | 7.781982 ms | 147% |
echo() | 8.909941 ms | 168% |