Php schneller machen
Verfasst: Fr 07.Mai, 2004 20:50
Wenn die eigenen PHP Skripte an vielen Stellen via echo oder print Ausgaben an den Browser senden, ist die Wahl der Anfuehrungszeichen fuer schnellere Bearbeitung entscheidend. Werden doppelte Anfuehrungszeichen genutzt, muss der PHP Interpreter den ganzen Text auf Variablen durchsuchen und diese gegebenenfalls einfuegen.
echo "Dr. Web $variable";
Schneller geht es, den String mit einfachen Anfuehrungszeichen zu markieren und die Variable aussen vor zu lassen:
echo 'Dr. Web '.$variable;
Natuerlich betragen die Performance-Unterschiede nur Millisekunden. Bei Seiten mit vielen Besuchern und haeufiger Nutzung der Textausgabe hilft es aber schon, ein auch an die Performance zu denken. Um die Geschwindigkeit selbst zu testen, laesst sich zum Beispiel der Vergleich mit microtime()
nutzen:
<?php
$start1 = microtime();
for ($i = 0; $i < 10000; $i++) { $test = "Dies ist ein Test $i"; }
$ende1 = microtime();
echo "Verbrauchte Zeit mit \" : ".($ende1 - $start2);
$start2 = microtime();
for ($i = 0; $i < 10000; $i++) { $test = 'Dies ist ein Test'.$i; }
$ende2 = microtime();
echo "<br>Verbrauchte Zeit mit ' : ".($ende2 - $start2);
?>
Sollte man sich die Mühe machen und das Forum zu umschreiben? oder ist das eh schon so?
echo "Dr. Web $variable";
Schneller geht es, den String mit einfachen Anfuehrungszeichen zu markieren und die Variable aussen vor zu lassen:
echo 'Dr. Web '.$variable;
Natuerlich betragen die Performance-Unterschiede nur Millisekunden. Bei Seiten mit vielen Besuchern und haeufiger Nutzung der Textausgabe hilft es aber schon, ein auch an die Performance zu denken. Um die Geschwindigkeit selbst zu testen, laesst sich zum Beispiel der Vergleich mit microtime()
nutzen:
<?php
$start1 = microtime();
for ($i = 0; $i < 10000; $i++) { $test = "Dies ist ein Test $i"; }
$ende1 = microtime();
echo "Verbrauchte Zeit mit \" : ".($ende1 - $start2);
$start2 = microtime();
for ($i = 0; $i < 10000; $i++) { $test = 'Dies ist ein Test'.$i; }
$ende2 = microtime();
echo "<br>Verbrauchte Zeit mit ' : ".($ende2 - $start2);
?>
Sollte man sich die Mühe machen und das Forum zu umschreiben? oder ist das eh schon so?