Weiss jemand wie man die Ausführungszeit messen kann für z.B.
//100 Dateien anlegen
for (int j = 0; j <=100; j++)
{
label7.Text="Datei:" + userData + "\\" + j + ".txt";
File.Create(userData + "\\" + j + ".txt");
progressBar1.Increment(j);
Urlaubsorte suchen: http://www.tripedio.de
Hallo rockthecity,
kommt auf die Genauigkeit an. Eine Möglichkeit ist: DateTime.Now
herbivore
Da ich mit verschiedenen Befehlen etwas herumspiele würde ich gerne mal geringste Unterschiede feststellen können ?
Urlaubsorte suchen: http://www.tripedio.de
Hallo rockthecity,
die Doku sagt:
Zeitwerte werden in Einheiten von 100 Nanosekunden gemessen, die als Ticks bezeichnet werden
herbivore
Für solche Geschichten gibt es fertige Programme, die heissen "Profiler". Dazu brauchst du auch nicht irgendwelche Zeitmessungssatement einzubauen.
Aber: Die Profiler selbst verlangsamen die Programmausführung selbst. Relative Aussagen sind trotzdem möglich.
Beipsiel:
Methode A mit "händischer Zeitmessung": 5 sec
Methode B mit "händischer Zeitmessung": 10 sec
Methode A mit Profiler: 10 sec
Methode B mit Profiler: 20 sec
Ein Profiler misst also nicht die "echte" Zeit, sondern gibt dir ein Gefühl für:
* wo verbrät mein Programm die Rechenzeit
* um wieviel ist Methode A langsamer als B
* wie oft wurde A aufgerufen, wieviel Zeit verbrachte die Anwendung insgesamt dort
Ein Profiler ist das richtige Werkzeug, wenn du das Gefühl hast, dass deine Anwendung nicht so schnell ist, wie sie "sein sollte".
Absolute Zeitaussagen zu ermitteln macht nur dann Sinn, wenn man z.B. garantieren muss, dass ein Programm auf einem 3 Ghz-System in mindestens 3 Sekunden auf eine Aktion antwortet.
Gibt diverse Freeware-Profiler.
apropo Freeware-Profiler: FxCop: Codeanalysetool
Ich mach immer am Anfang des Aufrufs ein DateTime.Now in eine Variable und am Ende eins und geb dann die Differenz in einer MessageBox aus. Funktioniert sehr gut. Kann zwar sein, dass das die Ausführung beeinträchtigt, gibt einem aber, wie ein Profiler, das "Gefühl" wos harkt.
A wise man can learn more from a foolish question than a fool can learn from a wise answer!
Bruce Lee
Populanten von Domizilen mit fragiler, transparenter Außenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
Wer im Glashaus sitzt, sollte nicht mit Steinen werfen.
Ich empfehle für solche Messungen grundsätzlich nur die PerformanceCounter Klassen!