I suggest you call clock_gettime () twice with nothing between these calls. printf() is a complicated function that may interact with hardware, for example, a serial port or ethernet. The time required to do input or output may depend on the state of the hardware, or on the operation of a queue, or maybe even task switching that happens when the system waits for I/O.
( I don't see the definition of sT and eT. Are they declred as pointers to startTIme and stopTime ?) Rathin Dholakia <rathindhola...@gmail.com> wrote: Dear All, I was experimenting with the timing and timing accuracy on BBB. and I came across a very interesting yet strange thing! Just running clock_gettime()twice and measuring the time difference, gives you horrendous timing. Here is my simple C code: #include <stdio.h> #include <stdlib.h> #include <math.h> #include <time.h> int main() { struct timeval startTime, stopTime; clock_gettime(CLOCK_REALTIME, &sT); printf("\n%ld.%09ld\n" ,sT.tv_sec,sT.tv_nsec); clock_gettime(CLOCK_REALTIME, &eT); printf("\n%ld.%09ld %ld uSec\n" , eT.tv_sec, eT.tv_nsec, ((eT.tv_sec - sT.tv_sec)*1000000 + (eT.tv_nsec-sT.tv_nsec)/1000)); return 0; } Just two gettime are causing 2894 to 3200 micro sec (uSec) time difference, how is such huge amount possible!?? Can someone throw some light on this? and can it be improved or fixed? I have tried the following to investigate. 1) Running same code on my i7 it gives 80uS to ~300 uS delay. 2) Trying TimeVal and GetTimeOfDay -- gives worse result! 3) Running NTP: No impact. Thank you, and hope you find it interesting as well :) -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/7d0c12ca-1e1a-4754-9b30-8f1a75c1dc6c%40googlegroups.com. For more options, visit https://groups.google.com/d/optout. Sent with mySecureMail. http://www.mysecurephone.eu/ -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/36a75d73-46a7-40e8-a646-5b4f57b5fc09%40email.android.com. For more options, visit https://groups.google.com/d/optout.