Wie bereits erwähnt, können wir ihn nur optimieren, indem wir den Code finden, der sich auf die Geschwindigkeit auswirkt. Die Benchmark_Timer-Klasse und die Benchmark_Iterate-Klasse im Benchmark-Paket von PEAR können verwendet werden, um die Geschwindigkeit der Skriptausführung einfach zu testen. (Bitte prüfen Sie selbst die relevanten Informationen zur Installation und Konfiguration von PEAR).
Verwenden Sie zunächst die Benchmark_Iterate-Klasse, um die Ausführungszeit einer bestimmten Funktion oder Methode einer Klasse im Programm zu testen.
benchmark1.php
require_once('Benchmark/Iterate.php');
$benchmark = new Benchmark_Iterate();
$benchmark->run(10, 'myFunction','test');
$result = $benchmark->get();
echo "
"; print_r($result);
";
Exit;
Funktion myFunction($var) {
//etwas tun
echo 'Hallo';
}
?>
Erstellen Sie ein Benchmark-Iterate-Objekt $benchmark. Dieses Objekt wird verwendet, um die myFunction-Funktion 10 Mal auszuführen.
Die Variable $argument wird jedes Mal an myFunction übergeben. Die Analyseergebnisse mehrerer Läufe werden in $result gespeichert und dann mit der Methode get() des Benchmark-Objekts abgerufen. Dieses Ergebnis wird mit print_r() auf dem Bildschirm ausgegeben. Normalerweise sieht die Ausgabe so aus:
Hallo Hallo Hallo Hallo Hallo Hallo Hallo Hallo Hallo Hallo Hallo Hallo
Array
(
[1] => 0,000427 [2] => 0,000079 [3] => 0,000072 [4] => 0,000071 [5] => 0,000076 [6] => 0,000070 [7] => 0,000073 [8] => 0,0 00070 [ 9 ] => 0,000074 [10] => 0,000072 [Mittelwert] => 0,000108 [Iterationen] => 10)
Jedes Mal, wenn myFunction ausgeführt wird, verfolgt das Benchmark-Objekt die Ausführungszeit. Und die durchschnittliche Ausführungszeit ([mittlere] Linie) wird berechnet. Durch mehrmaliges Ausführen der Zielfunktion können Sie die durchschnittliche Laufzeit der Funktion ermitteln.
Bei tatsächlichen Tests sollte die Anzahl der Funktionen mindestens das Tausendfache betragen, damit objektivere Ergebnisse erzielt werden können.