#include <iostream>
#include <chrono>
int main()
{
using Time = std::chrono::time_point<std::chrono::high_resolution_clock>;
using Diff = std::chrono::milliseconds;
Time t1 = std::chrono::high_resolution_clock::now();
int i;
std::cin >> i;
Time t2 = std::chrono::high_resolution_clock::now();
Diff diff = std::chrono::duration_cast<Diff>(t2 - t1);
std::cout << diff.count() << " ms" << std::endl;
return 0;
}
const std::chrono::high_resolution_clock::time_point t1 = std::chrono::high_resolution_clock::now();
my_sort();
const std::chrono::high_resolution_clock::time_point t2 = std::chrono::high_resolution_clock::now();
std::cout << std::chrono::duration_cast<std::chrono::microseconds>(t2 - t1).count();
std::chrono::high_resolution_clock
— не монотонные часы. Т. е. они могут дрифтить даже относительно RTC, а этот дрифт будет корректироваться и влиять на результаты измерений. Например, когда вы будете делать измерения, и между стартом и стопом к вам прилетит синхронизация NTP.std::chrono::steady_clock
. Они независимы от изменений и специально предназначены для измерений интервалов.