// Measuring execution time using <chrono>
#include <iostream>
#include <chrono>
// A sample function to measure
void work() {
volatile long long sum = 0;
for (long long i = 0; i < 100000000; ++i)
sum += i;
}
int main() {
// Use std::chrono:: explicitly (this fixes the error)
auto start = std::chrono::high_resolution_clock::now();
work();
auto end = std::chrono::high_resolution_clock::now();
// Compute duration in microseconds
auto micro = std::chrono::duration_cast<std::chrono::microseconds>(end - start).count();
double seconds = micro / 1'000'000.0;
std::cout << "Execution time: " << micro << " microseconds\n";
std::cout << "Execution time: " << seconds << " seconds\n";
}
/*
run:
Execution time: 213278 microseconds
Execution time: 0.213278 seconds
*/