It seems the Linux high resolution timer starts counting within the scope of each thread - not globally in the application.
I tried using CLOCK_PROCESS_CPUTIME_ID but it gives me that thread behavior?
CLOCK_PROCESS_CPUTIME_ID (since Linux 2.6.12) High-resolution per-process timer from the CPU. CLOCK_THREAD_CPUTIME_ID (since Linux 2.6.12) Thread-specific CPU-time clock.
Looking for a high resolution timer across threads.
(The global timers are in milli seconds while the high resolution in nanoseconds.)
How do I get high resolution time in a multithreaded environment?