Hier im Forum bekommt ihr bei euren fragen schnelle hilfe.Hier geht es rund um das Web SeitenProgrammieren.Alles rund ums Javascript,Html,Php,Css und Sql.Auf fast allen Fragen haben wir eine Antwort.
Der Soforthilfe-chat verspricht das ,was sein Name sagt. Hier sind Leute Online die sofort ihre hilfe anbieten.Seht in der OnlineListe nach und wenn einer Online ist werdet ihr auch antwort bekommen. Admine ,Moderatoren und Helfer sind unsere Spezialisten in Sachen Web Programierung
71 Unwetterwarnungen in Deutschland
Die Datenbank wurde zuletzt am 02.08.2020 17:34:28 aktualiesiert
71

Gänsefüßchen oder Hochkomma?

Im Web liest man recht oft, dass PHP-Ausgaben, die in Hochkommata eingeschlossen werden, etwas schneller gehen als die Variante in Gänsefüßchen. Eigentlich ist die Gänsefüßchen-Variante aus meiner Sicht „richtiger“ von der Syntax her, da Strings in vielen Programmiersprachen in eben diesen Zeichen eingeschlossen werden. Dort sind Singlequotes (Hochkommata) für den Datentyp char (ein einzelnes Zeichen) zuständig. Aber nicht zuletzt auf Wunsch der in den Kommentaren zur Einbettung oder Konkatenierung von Variablen in Strings möchte ich diesem Phänomen einen eigenen Beitrag widmen.

Nur, damit jeder weiß, worum es hier gehen soll:

 // Doublequote-Variante echo "Hallo, der aktuelle Timestamp ist ".time().".";   //Singlequote-Variante echo 'Hallo, der aktuelle Timestamp ist '.time().'.'; 

Im Benchmark selbst wird ein längerer String mit mehr Variablen verwendet, damit ein signifikantes Ergebnis zustandekommt.

Das Ergebnis widerspricht vielleicht vielen Meinungen, die man im Internet so liest, aber die beziehen sich vermutlich auf frühere PHP-Versionen. In diesem Test wurde PHP 5.1 verwendet.

Datei Gesamtlaufzeit durchschnittliche Laufzeit pro Durchlauf Verhältnis zur schnellsten Variante
var_out_of_string.php 132.810973 s 13.281 ms 100 %
var_out_of_string_ singlequote.php 136.205855 s 13.621 ms 103 % (+ 3%)

Tatsächlich ist die Singlequote-Variante hier etwas langsamer. Ich selbst nutze schon lange Doublequotes, eben aus oben genannten Gründen, wie es bei anderen Programmiersprachen gehandhabt wird, weniger wegen der besseren Performance. Über die Gründe, warum Doublequotes etwas schneller sind, mag ich nicht zu mutmaßen – oder anders gesagt: ich habe keine Ahnung ????

Diese minimalen Geschwindigkeitsvorteile sollten aber nicht zum Umschreiben vorhandener Anwendungen führen. Lediglich für die Zukunft kann man sich durchaus auf die Doublequote-Variante besinnen.

Die abschließende Hoffnung, die ich in vielen meiner Beiträge äußere: Ich hoffe, dass ich ihr Weltbild mit diesen Äußerungen nicht verdreht habe ????

PS: Ich habe es nochmal mit dem Komma als Konkatenierungszeichen probiert. Hier die Ergebnisse dazu:

Datei Gesamtlaufzeit durchschnittliche Laufzeit pro Durchlauf Verhältnis zur schnellsten Variante
var_out_of_string_ komma.php 132.790944 s 13.279 ms 100 %
var_out_of_string.php 138.629340 s 13.863 ms 104 % (+ 4%)

Das Komma ist demzufolge tatsächlich etwas schneller als der Punkt. Die Unterschiede zu den Zeiten in der oberen Tabelle sind darin begründet, dass ich zum Nachtest den Rechner bereits länger hab laufen lassen (den halben Arbeitstag etwa) und dadurch der Speicher schon etwas voller war. Die jeweiligen Unterschiede in den Ausführungszeiten pro Tabelle sind aber unter gleichen Bedingungen erfolgt.