001
28.06.2006, 00:35 Uhr
Hans
Library Walker (Operator)
|
Hi,
die Performanceüberprüfung ist das Einsatzgebiet für Programme, die sich Profiler nennen. Für einfache Fälle gibt es in C/C++ auch die Möglichkeit, zwei zusätliche Variablen vom Typ time_t zu deklarieren. Die Erste erhält den aktuellen Wert von time(), dann rufst Du die Funktionen auf, deren Ausführungszeit Du wissen willst, und danach noch mal time() aufrufen, und das Ergebniss in die zweite Variable stecken. Anschliessend den Wert der ersten vom Wert der zweiten abziehen, und Du hast die Zeit. Also ungefähr so:
C++: |
time_t t1, t2, te;
t1 = time(NULL); f(); // Deine Funktion t2 = time(NULL); te = t2-t1;
|
Diese Methode ist aber nicht besonders genau, und es ist meisstens noch ein Korrekturfaktor zu berücksichtigen, der vom Compiler abhängt, so das es heissen muss:
C++: |
te = (t2-t1) * korrekturfaktor;
|
Hans -- Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung. Dieser Post wurde am 28.06.2006 um 01:10 Uhr von Hans editiert. |