for_developers:timing_measurement
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
for_developers:timing_measurement [2016/10/24 07:55] – [Implementation] graf | for_developers:timing_measurement [2016/11/29 09:47] – [How the timer works] graf | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Using built in timer for measuring real time performance | + | ====== Using Periodic Counter to measure Realtime Performance |
===== How the timer works ===== | ===== How the timer works ===== | ||
Line 8: | Line 8: | ||
Of these three measurements the minimal value, maximal value, mean value and the variance are calculated. | Of these three measurements the minimal value, maximal value, mean value and the variance are calculated. | ||
- | Implementation in //Execurot.cpp//: | + | Implementation in //Executor.cpp//: |
<code cpp> | <code cpp> | ||
... | ... | ||
Line 54: | Line 54: | ||
</ | </ | ||
- | + | If the executor has a small cycle time (less than 1 second) it is not advisable to update the log output each time. In the example the output is only updated after 1000 cycles. Depending on the cycle time, this number can be adjusted.\\ | |
- | ==== Explanation of the implementation ==== | + | Every periodic includes a periodic counter object. In case you simply define a time domain and add it to the executor its corresponding periodic object is created internally and you cannot access its periodic counter object. In such cases you manually create a periodic object and pass its time domain as a parameter. |
- | If the executor has a small cycle time (less than 1 second) it is not advisable to update the log output each time. In the implementation of the code example the output is only updated after 1000 cycles. Depending on the cycle time, this number can be adjusted | + | <code cpp> |
+ | eeros:: | ||
+ | eeros:: | ||
+ | eeros:: | ||
+ | eeros:: | ||
+ | eeros:: | ||
+ | </ | ||
Line 7 defines which date should be written to the terminal output. Following options are available for //run// time and //period// time: | Line 7 defines which date should be written to the terminal output. Following options are available for //run// time and //period// time: |