pomiar czasu dzialania fragmentu kodu

0

System.Diagnostics.Stopwatch waatch = new System.Diagnostics.Stopwatch();
waatch.Reset();
waatch.Start();
.......

waatch.Stop();
Witam, dokonuje pomiaru czasu w mili sekundach wykonania fragmetu kodu (...) Gdy pierwszy raz nacisne przycisk opowiadajacy za to to jest ok 102 ms, natomiast nastepnym kolejnym razem jest 1 ms. Gdy zamkne i od nowa uruchomie program jest znowu ok czyli okolo 102 ms. kto ma jakies sugestie ?

0

może za drugim razem zamiast odczytywać dane z pamięci są już one w cache? forum jasnowidzów jest pod innym adresem, bez kodu za wiele się nie dowiesz...

0

a gdzie problem? przecież to jest program kompilowany do bytecodu, pierwsze wykonanie zawsze kosztuje więcej niż kolejne, bo CLR musi skompilować bytecode do kodu maszynowego.

btw watch, nie waatch. mierz czas wykonania przez (float)sw.ElapsedTicks/(float)Stopwatch.Frequency, będziesz mieć wynik z precyzją zegara procesora.

1 użytkowników online, w tym zalogowanych: 0, gości: 1