Frage

Optimierung von PHP-Code über Runtime-Benchmarking ist geradlinig. Behalten Sie $ beginnen und $ Endzeiten über micro () um einen Codeblock - Ich bin nicht auf der Suche nach einer Antwort, die micro () Nutzung beinhaltet

.

Was würde Ich mag die Zeit zu tun ist, messen sie PHP zu bekommen bereit zu laufen dauert es Code - Code-Parse / Op-Code-Baum-Bauzeit. Meine Argumentation ist, dass, während es einfach ist, nur include () jede Klasse, die Sie auf könnte müssen für jede Seite, die Sie auf einer Website, die CPU-Overhead nicht „frei“ sein kann. Ich würde gerne wissen, wie „teuer“ Parse-Zeit wirklich ist.

Ich gehe davon aus, dass ein Opcode-Cache wie APC ist nicht Teil des Szenarios.

Wurde ich richtig sein, dass die Messung von Parse-Zeit in PHP ist etwas, das zu in Mod_php würde?

Bearbeiten : Wenn möglich, in $_SERVER['DOCUMENT_ROOT'] Nutzung nützlich wäre in Code berücksichtigen. Befehl Lösungen könnten ein wenig Bastelei nehmen, dies zu tun (aber immer noch wertvollen Antworten sein).

War es hilfreich?

Lösung

Ja. Es ist.

<?php return; rest of the code ?>

oder

<?php whole code; $%^parse erorr!@! ?>

und dann vergleichen Zeit der leeren Skript ausgeführt

time php empty.php

mit Zeit in Anspruch nimmt, um sie auszuführen (oder nicht) regelmäßige Skript mit den Zusätzen ich erwähnt habe oben:

time php test.php

Ich habe diese Methode bei großen Dateien und PHP5.3 auf Core2Duo 2,4 GHz verwendet wird, kann pro Sekunde zwischen 1,5 und 4,5 MB PHP-Code analysieren (es hängt sehr stark von der Komplexität des Codes natürlich).

Andere Tipps

Für die detaillierte Analyseebene Sie versuchen, es scheint, dass die Umsetzung Xdebug ( http://xdebug.org/ ) würden Sie die größten Informationen w / o mit Ihrem Code in segmentierte Stücke hacken.

Eine Methode könnte die Ausführung des Skripts von der Befehlszeile seines Timing.

In Linux zum Beispiel:

$ time php5 -r 'echo "Hello world";'
Hello world
real    0m1.565s
user    0m0.036s
sys     0m0.024s

Gibt es überhaupt das helfen? Vielleicht ist es hilfreich für die relativen Zeiten zwischen verschiedenen Schriften zu entdecken, aber es kann nicht von Zeit durch das Apache-Modul genommen indikativ

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top