How do I measure elapsed time accurately?

Measuring elapsed time accurately in C++ can be crucial for performance tuning and analyzing how long a particular piece of code takes to execute. The C++ standard library provides various options for accurately measuring time, such as using std::chrono facilities.

Example Code

#include <iostream>
#include <chrono>

int main() {
    // Start timing
    auto start = std::chrono::high_resolution_clock::now();

    // Code block to measure
    for (volatile int i = 0; i < 1000000; ++i); // Simulate work

    // End timing
    auto end = std::chrono::high_resolution_clock::now();

    // Calculate elapsed time
    std::chrono::duration<double> elapsed = end - start;

    // Output the elapsed time
    std::cout << "Elapsed time: " << elapsed.count() << " seconds" << std::endl;

    return 0;
}

C++ measure elapsed time std::chrono performance tuning high-resolution clock