pomiar czasu trwania operacji

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
Awatar użytkownika
progor
Posty: 197
Rejestracja: 01 kwie 2005 00:00
Lokalizacja: Kraków

pomiar czasu trwania operacji

Post 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).
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Re: pomiar czasu trwania operacji

Post 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
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
Awatar użytkownika
progor
Posty: 197
Rejestracja: 01 kwie 2005 00:00
Lokalizacja: Kraków

Re: pomiar czasu trwania operacji

Post 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.
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Re: pomiar czasu trwania operacji

Post 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)
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: pomiar czasu trwania operacji

Post autor: jogurt_owocowy »

Chyba z Mickiewicza?! :)
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Re: pomiar czasu trwania operacji

Post autor: Mikrobi »

jogurt_owocowy pisze:Chyba z Mickiewicza?! :)
:oops:
Racja, "Pani T."

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

LabVIEW Champion, CLD, CPI
ODPOWIEDZ