22 Juni 2007

PHP-Scripte beschleunigen durch Buffer

Um noch ein wenig mehr Geschwindigkeit aus PHP rauszuholen, braucht man einfach nur einen "Ausgabe-Buffer".
Den startet man, indem man am Anfang des Scriptes
ob_start();

schreibt.
Am Ende des Scriptes kann man sich die Ausgabe zum Beispiel in eine Variable laden und ausgeben:
$output = ob_get_clean();
echo $output;

Damit wird der Speicher auch gleich wieder freigegeben.

Das ganze hat mehrere Vorteile:
Einerseits wird solange nichts an den Browser gesendet und man kann jederzeit Header-Befehle senden und andererseits wird alles ein bisschen beschleunigt, da nicht viele kleine Strings in den Speicher kommen sondern nur ein großer.

Weitere Möglichkeiten wären eine Cache-Engine wie Smarty oder die von PEAR, gz-komprimierung oder ähnliches. Dazu wananders mehr.

Labels: , ,

PHP-Schleifen: Fataler Anfängerfehler

Immer wieder sehe ich schleifen die folgendermaßen aufgebaut sind:

for($i=0; $i < count($array); $i++) { ... }

das ist so aber garnicht so sinnvoll, denn dabei wird das array bei jedem Durchlauf erneut durchgezählt. Das ganze zu Lasten der Performance. Besser man macht es so:

$max = count($array);
for($i=0; $i < $max; $i++) { ... }

hier wird die Anzahl der Array-Elemente nur einmal gezählt.

Labels: ,