PHP Performance von Single- oder Doublequotes, Part 2

Die Zeiten ändern sich.

Dieser Beitrag scheint älter als 16 Jahre zu sein – eine lange Zeit im Internet. Der Inhalt ist vielleicht veraltet.

Im Beitrag PHP Performance von Single- oder Doublequotes hatte ich befürchtet, dass sich mein Weltbild beim Schreiben von PHP-Code ändern müsste. Denn die Analyse des Blog PHP-Performance, der sich ausgiebig und übersichtlich mit Performance im Bereich PHP beschäftigt, ergab eine neue Erkenntniss: PHP- Ausgaben mit Doublequotes sind schneller. Schon damals entbrannte eine Diskussion und in meinem Artikel habe ich angedeutet, dass ich noch einmal einige Tests fahren möchte.

Nun ist die Datei im meinem XAMPP zwar gelaufen und die Werte haben mein Weltbild wieder gerückt und meine Code-Zeilen werden weiterhin mit dem Singlequotes beprägt sein, aber dort kann sie niemandem nützen. Deshalb und vor allem durch das Blog von Christian erinnert, habe ich die Datei in meinen Experimente-Ordner geladen und jeder Interessierte kann sich davon überzeugen, dass Singelquotes schneller sind. Das Parsen fällt nun mal weg.

Entscheidenter Unterschied: die Schleifendauer ist höher. Wenn die Schleifenwerte zu klein sind, dann spielt das System eine größere Rolle als die Arbeit des Parsers. Mit einem großen Schleifenwert bekommt man also wahre Werte im Bezug auf das Parsen der Quotes.
In diesem Zusammenhang auch ein Dankeschön an den aufmerksamen Leser Sebbi, der auf diesen Umstand in den Kommentaren aufmerksam gemacht hat.

Die Ergebniswerte

$test = 'Dies ist der test ' . $i;
Verbrauchte Zeit mit Singlequotes: 0.0974500179291

$test2 = "Dies ist der test " . $i2;
Verbrauchte Zeit mit Douplequotes und Variable extern: 0.163120985031

$test3 = "Dies ist der test $i3"
Verbrauchte Zeit mit Douplequotes und Variable intern: 0.185966014862

Im Anschluss der Code für die erste Schleife des Tests.


<?php
$startt = microtime(true);

for ($i = 0; $i <= 100000; $i++) {
	$test = 'Dies ist der test ' . $i;
}

$endt = microtime(true);
echo '
Verbrauchte Zeit mit Singlequotes: ' . ($endt - $startt) . ''; ?>

Alle weiteren Codeschnipsel und Ergebnisse sind im Test zu finden, ebenso der Download der Datei – für alle, die den Test ebenso fahren wollen

Von Frank Bültge

bueltge.de [by:ltge.de] wird von Frank Bültge geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.