How to create a high resolution timer with C++ and Linux?


To create high resolution timer we can use the chrono library. This library has high resolution clock. This can count in nanoseconds.

In this program we will see the execution time in nanoseconds. We will take the time value at first, then another time value at the last, then find the difference to get elapsed time. Here we are using blank loop to pause the effect for sometimes.

Example

#include <iostream>
#include <chrono>
typedef std::chrono::high_resolution_clock Clock;
main(){
   auto start_time = Clock::now();
   for(int i = 0; i<200000000; i++) {
      //create one empty loop ;
   }
   auto end_time = Clock::now();
   std::cout << "Time difference:"
      << std::chrono::duration_cast<std::chrono::nanoseconds>(end_time - start_time).count() << " nanoseconds" << std::endl;
}

Output

Time difference: 536395307 nanoseconds

karthikeya Boyini
karthikeya Boyini

I love programming (: That's all I know

Updated on: 30-Jul-2019

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements