Strona 1 z 1

pomiar czasu trwania operacji

: 10 maja 2005 11:14
autor: progor
Witam wszytskich.
Mam problem, potrzebuje każdorazowo podawać ile trwała operacja (dokładnie reakcja urządzenia na wysterowanie). Zarówno start jak i stop pomiaru czasu jest generowane programowo (struktura Event).
Pętle Wait 1ms na wejściu odrzucam (obciąża procek a sama procedura trwa tyle że są bardzo duże przekłamania). Inne rozwiązanie to użycie Get Date/Time In Seconds, różnica jest czasem trwania. Tyle, że jeśli między start a stop wstawie delay=150ms (na przykład), to różnicza czasów waha się od 110 do 170ms... troche dziwne. jak może być mniej niż delay?
Jesli ma ktoś pomysł jak dokładnie mierzyć czas to prosiłbym o pomoc. Dodam, że czasy które mnie interesują są właśnie w granicach 100ms (ale dokładność do 10ms jest wystarczająca).

Re: pomiar czasu trwania operacji

: 10 maja 2005 12:24
autor: Mikrobi
progor pisze:Witam wszytskich.
Mam problem, potrzebuje każdorazowo podawać ile trwała operacja (dokładnie reakcja urządzenia na wysterowanie). Zarówno start jak i stop pomiaru czasu jest generowane programowo (struktura Event).
Pętle Wait 1ms na wejściu odrzucam (obciąża procek a sama procedura trwa tyle że są bardzo duże przekłamania). Inne rozwiązanie to użycie Get Date/Time In Seconds, różnica jest czasem trwania. Tyle, że jeśli między start a stop wstawie delay=150ms (na przykład), to różnicza czasów waha się od 110 do 170ms... troche dziwne. jak może być mniej niż delay?
Nie wiem czy będzie potrzebny "delay"... :?
Sprawdź ten sposób Obrazek

Re: pomiar czasu trwania operacji

: 10 maja 2005 12:49
autor: progor
Dzięki
Dokładnie tak robiłem (to co nazwałem "delay" u Ciebie jest OPERACJÄ„) tyle, że faktycznie Tick Count daje dużo lepsze wyniki (conajwyżej czas jest o 3ms zawyżony).
Pozdrawiam.

Re: pomiar czasu trwania operacji

: 10 maja 2005 13:14
autor: Mikrobi
progor pisze:Dzięki Dokładnie tak robiłem (to co nazwałem "delay" u Ciebie jest OPERACJÄ„) tyle, że faktycznie Tick Count daje dużo lepsze wyniki (conajwyżej czas jest o 3ms zawyżony).
Ta funkcja Wait się nazywa (tak trochę z Fredry zaciągając) :lol:
A poważnie: łatwo ją znaleźć, napis OPERACJA jest dla oznaczenia miejsca na umieszczenie sprawdzanego kodu - brak precyzji w opisie, przyznaję. Niedokładności pomiaru czasu rzędu 3ms pochodzą z wpływu pracy systemu operacyjnego na pomiar czasu wykonania. Jest narzędzie Execution Trace Toolkit do pomiaru czasów wykonywania operacji, ale to dla aplikacji czasu krytycznego (Real Time: LabVIEW RT)

Re: pomiar czasu trwania operacji

: 11 mar 2006 18:28
autor: jogurt_owocowy
Chyba z Mickiewicza?! :)

Re: pomiar czasu trwania operacji

: 12 mar 2006 09:19
autor: Mikrobi
jogurt_owocowy pisze:Chyba z Mickiewicza?! :)
:oops:
Racja, "Pani T."

...idę do kąta na groch.