Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

testen ob langsam oder schnell

so ich denke das mein scriptchen nun endlich fertig ist fals mir nicht noch mehr einfällt was ich anders haben möchte :)

was ich jetzt nun wiessen möchte ist ob es irgend wie eine möglichkeit gibt ein script zu testen ob es zu langsam ist. der grund vieleicht.

ich habe eine menge datenbank abfragen, updates und deletes. ich würde gerne noch das ganze auf herz und nieren testen wollen bevor ich was anderes anfange zu machen. kann man das irgend wie machen wenn ja wie?

Hier gehts zum Orginal Eintrag "testen ob langsam oder schnell" im Forum

Antworten

ich hab da mal nen Beispiel auf php.net gesehen und das ein wenig ausgebaut..

[PHP]
/**
* <WebTiSigN> Execution Time Viewer
*
* Mißt die Zeit, die ein Script zum Ausführen braucht.<br>
* (kein genauer Wert, aber annehmbar exakt.)
*
* Parameter, die dem Script übergeben werden können:
* <pre>
* $script : Das Script, daß ausgeführt werden soll.
* inkl. relativem oder absolutem Pfad!
* (Kann auch direkt in der Datei gesetzt werden,
* was zu empfehlen ist, wenn es sich um
* "mehrseitige" Scripts handelt.
* - vorausgesetzt Links auf das Script sind mit
* $_SERVER["PHP_SELF"] gesetzt.)
* </pre>
*
* ChangeLog:
* <pre>
* 20.04.2004: - $etvCOnfig["error"] hinzugefügt.
* V 1.1 - es wird nun geprüft, ob die Datei, die mit
* $_REQUEST["script"] oder $etvConfig["script"] angege-
* ben wird, auch existiert. Wenn nicht, bricht das
* Script mit Fehlermeldung ab.
* - es wird nun geprüft, ob $etvConfig["round"] einen
* gültigen Wert hat. Wenn nicht, wird er auf -1 gesetzt.
* 12.04.2004:
* V 1.0
* </pre>
*
* @package wETV
* @author Mathias Gelhausen
* @version 1.1 (20.04.2004)
* @copyright 2004 <WebTiSigN> ({@link http://www.webtisign.de})
**/

/*==============================================================================
* Config
*============================================================================*/

//Das Script, das getestet werden soll. (wird von GET-Variable überschrieben)
$etvConfig["script"] = "guestbook.php";

// Auf wieviele Nachkommastellen soll die Sekunden-Anzeige gerundet werden.
// ( -1 = System default )
$etvConfig["round"] = 6;

// Format der Zeit-Ausgabe. (%time% steht für die Zeit)
// Die Ausgabe erfolgt unterhalb des ausgeführten Scripts.
$etvConfig["format"] = "<br><br><hr>Execution Time: <b>%time%</b> Sekunden<hr>";

// Fehler-Meldung, wenn $etvConfig["script"] oder $_REQUEST["script"]
// nicht gefunden werden kann (%file% steht für den Namen der Datei)
$etvConfig["error"] = "<b>ERROR: </b> Datei '%file%' nicht gefunden.<br><br>";

/*==============================================================================
* Funktionen
*============================================================================*/

/**
* float getMicrotime
*
* gibt die aktuelle Zeit in Sekunden mit Mikrosekunden-Anteil als Float zurück.
* @ignore
* @access private
* @return float aktuelle Zeit in Sekunden mit Mikrosekunden-Anteil.
**/
function getMicrotime() {
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}

/*==============================================================================
* Main
*=============================================================================*/

// prüfen, ob Variable $script übergeben wurde und prüfen, und $etvConfig["script"]
// überschreiben, wenn dem so ist.
if (isset($_REQUEST["script"])) $etvConfig["script"] = $_REQUEST["script"];

// prüfen, ob $etvConfig["script"] eine gültige Dateiangabe ist.
if (!file_exists($etvConfig["script"])) {
// Fehler-Meldung ausgeben und Script abbrechen.
echo str_replace("%file%", $etvConfig["script"], $etvConfig["error"]);
exit;
}

// prüfen, ob $etvConfig["count"] ein gültiger Zahlenwert ist.
if (preg_match("~[^0-9]~i", $etvConfig["round"])) {
// auf -1 setzen
$etvConfig["round"]=-1;
}

// Startzeit
$time_start = getMicrotime();

// Script ausführen
/** @ignore */
include($etvConfig["script"]);

// Endzeit
$time_end = getMicrotime();

// Execution-Zeit berechnen und ausgeben.
$time = $time_end - $time_start;
$time = ($etvConfig["round"]!=-1) ? round($time, $etvConfig["round"]) : $time;
echo str_replace("%time%", $time, $etvConfig["format"]);

/*==============================================================================
* EOF
*============================================================================*/
[/PHP]

Erwartungsgemäß solltest du aber kaum über die Sekunde kommen *gg*
PHP is rattig schnell! ;)


Hier gehts zum Orginal Eintrag "testen ob langsam oder schnell" im Forum
 
phpforum.de | Impressum