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 |
| echo() | 21.327019 ms | 100% |
| print() | 22.420883 ms | 105% |
| printf() | 49.188852 ms | 231% |
| sprintf() | 50.029993 ms | 235% |