Seite 1 von 1

Seite generiert

Verfasst: Sa 20. Jan 2007, 04:31
von Butzemann
Ich hab das jetzt alles so in meine Fusszeile eingebaut (musste dann auch die function getmicrotime in der function.php datei löschen und die Zeile // Anfangszeit speichern
$time_start = getmicrotime(); in den index Dateien):

Code: Alles auswählen

function printFootline( &$settings ) {
    echo "<div id=\"fusszeile\">";
    echo "<p>&copy;2005-2007 Dominik Erdmann - <a href=\"http://www.der-domi.de\">www.der-domi.de</a> $settings->footlineAddOn";

function getmicrotime(){
   list($usec, $sec) = explode(" ",microtime());
   return ((float)$usec + (float)$sec);
   }

   $time_start = getmicrotime();

   echo "| Version: ".getVersion()." | Seite generiert in ";
   echo round((getmicrotime() - $time_start)*100000,2)." ms</p>";

    echo "</div>";
}
Is das eigentlich so korrekt, weil ich die 100 in 100000 ändern musste;
sind ja dann xx,xx Millisekunden, umgerechnet 0,0xxxx Sekunden?!


Siehe nun meine Fusszeile:
http://blog-plus.de/filmdb

Re: Seite generiert

Verfasst: Di 23. Jan 2007, 22:47
von der-domi
Sodele, ich habe die Zeitausgabe vor einiger Zeit geändert. Schaue es dir mal im aktuellen Release an! Die 100-Multiplikaiton war falsch. Keine Ahnung, was ich mir da mal gedacht habe. Möchtest du die Zeit in msec, multipliziere mit 1000.

ABER: Wenn ich mir deine Funktion anschaue, stellen sich meine Nackenhaare sonst wo hin. Du implementierst eine Funktion in einer Funktion. PHP ist da sehr schmerzfrei. ICH ABER NICHT ;)
Das ist ein schlechter Programmierstil. Mich wundert es, dass das PHP überhaupt mitmacht.
Ich weiß auch nicht, warum du die Funktion löschen/ändern musstest. Sollte doch funktionieren oder?

Ich habe den Zeitbedarf extra nicht in die Fußzeile geschrieben, da die HTML-Klasse einiges an Zeit benötigt, um die Ausgabe aufzubereiten. Kannst ja mal Referenzmessungen machen.

Re: Seite generiert

Verfasst: Mi 24. Jan 2007, 05:05
von Butzemann
der-domi hat geschrieben:Sodele, ich habe die Zeitausgabe vor einiger Zeit geändert. Schaue es dir mal im aktuellen Release an! Die 100-Multiplikaiton war falsch. Keine Ahnung, was ich mir da mal gedacht habe. Möchtest du die Zeit in msec, multipliziere mit 1000.

ABER: Wenn ich mir deine Funktion anschaue, stellen sich meine Nackenhaare sonst wo hin. Du implementierst eine Funktion in einer Funktion. PHP ist da sehr schmerzfrei. ICH ABER NICHT ;)
Das ist ein schlechter Programmierstil. Mich wundert es, dass das PHP überhaupt mitmacht.
Ich weiß auch nicht, warum du die Funktion löschen/ändern musstest. Sollte doch funktionieren oder?

Ich habe den Zeitbedarf extra nicht in die Fußzeile geschrieben, da die HTML-Klasse einiges an Zeit benötigt, um die Ausgabe aufzubereiten. Kannst ja mal Referenzmessungen machen.
Ja, das stimmt, diese Verschachtelung is schlecht realisiert worden.
Ich hab nun die Zeitfunktion darüber gesetzt.

Was die Referenzmessungen betrifft, so habe ich diese auch vorher schon gemacht, und keinen Unterschied festgestellt.

------------------------------------------------------------------------------------------------------------------------


function getmicrotime() {
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec); }

function printFootline( &$settings ) {
echo "<div id="fusszeile">";
echo "<p>&copy; 2005-2007 Dominik Erdmann - <a href="http://www.der-domi.de">www.der-domi.de</a>";

$time_start = getmicrotime();

echo "| Version: ".getVersion()." | Seite generiert in ";
echo round((getmicrotime() - $time_start)*100000,2)." ms $settings->footlineAddOn</p>";

echo "</div>";
}

Re: Seite generiert

Verfasst: Mi 24. Jan 2007, 06:56
von der-domi
Ich verstehe es gerade nicht, warum du in der Funktion
$time_start = getmicrotime();
ausführst. Kein Wunder, dass man mit 100000 multiplizieren muß, bis man einen vernüünftigen werde hat. Du misst nämlich nur die Zeit des Aufrufs
echo "| Version: ".getVersion()." | Seite generiert in ";
;)

Warum hast du meine Zeitmessung nicht gelassen und nur

Code: Alles auswählen

$time_end = getmicrotime();
$time = ( $time_end - $time_start ) * 1000;
$time = round($time,1)." msec";
mit in die Funktion printFootline genommen. Du mußt halt nur $time_start als Parameter übergeben.

Die Funktion
$out->put( $out->endBuffer() );
sollte ein bissel Zeit in Anspruch nehmen. Nicht spürbar, aber messbar.