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

C++Server Side ProgrammingProgramming

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.


#include <iostream>
#include <chrono>
typedef std::chrono::high_resolution_clock Clock;
   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;


Time difference: 536395307 nanoseconds
Updated on 30-Jul-2019 22:30:26