Ausgabefunktionen – echo vs print vs printf

Die wohl häufigste Funktion einer PHP-Anwendung ist bestimmt die Ausgabe von Text / HTML auf dem Bildschirm. PHP bietet dafür echo, print und printf, wobei die Mehrheit der PHP-Entwickler (inklusive mir) – glaube ich – echo benutzt. Gibt es bei diesen Funktionen Geschwindigkeitsunterschiede oder sind es wirklich Synonyme?
Hier noch kurz der Vollständigkeit halber die Funktionen, wie sie auch im Benchmark zum Einsatz kommen:

 $var1 = "PHP";  $var2 = "MySQL";   //echo.php  echo "Bei PHP Performance gehts hauptsächlich um ".$var1.", aber auch um ".$var2; //print.php  print "Bei PHP Performance gehts hauptsächlich um ".$var1.", aber auch um ".$var2;  //printf.php  printf("Bei PHP Performance gehts hauptsächlich um %s, aber auch um %s",$var1,$var2);  

Der Umgang mit echo und print ist denkbar einfacher als mit printf(), da man die Variablen an der Stelle einfügen kann, an der sie gebraucht werden und nicht erst hinterher wie bei printf, aber wir wollen ja alle Möglichkeiten betrachten.

Auswertung:
Früher (bis PHP3) war print tatsächlich schneller als echo. Mittlerweile ist der Unterschied aber sehr klein bis nicht mehr sichtbar. Beide Funktionen sind gleich schnell und weit schneller als printf.

Datei Gesamtlaufzeit durchschnittliche Laufzeit pro Durchlauf Verhältnis zur schnellsten Variante
result_echo.php 33.998888 s 3.400 ms 100%
result_print.php 34.139090 s 3.414 ms 100%
result_printf.php 46.396716 s 4.640 ms 136% (+36%)

Neben den hohen Laufzeiten – printf ist über ein Drittel langsamer als echo und print – spricht eben auch die oben erwähnte Umständlichkeit beim Umgang mit printf gegen diese Variante.

Merke: print und echo sind gleich schnell und können je nach persönlicher Vorliebe verwendet werden. Man sollte sich allerdings innerhalb einer Anwendung für eine Variante entscheiden, sonst wirds unübersichtlich.



Deprecated: Directive 'allow_url_include' is deprecated in Unknown on line 0