Windows C++実行速度の計測

#include <windows.h>
#include <iostream>

void simulateExpensiveOperation() {
    // 時間のかかる操作をシミュレートします。
    // 例えば、1秒間スリープするなど。
    Sleep(1000); // 1000ミリ秒 = 1秒
}

int main() {
    LARGE_INTEGER frequency; // カウンターの周波数
    LARGE_INTEGER start;     // 開始時間
    LARGE_INTEGER end;       // 終了時間

    // カウンターの周波数を取得
    if (!QueryPerformanceFrequency(&frequency)) {
        std::cerr << "High-resolution counter not supported." << std::endl;
        return 1;
    }

    // 開始時間を取得
    QueryPerformanceCounter(&start);

    // 計測したい操作を実行
    simulateExpensiveOperation();

    // 終了時間を取得
    QueryPerformanceCounter(&end);

    // 経過時間を計算(秒単位)
    double elapsedTime = static_cast<double>(end.QuadPart - start.QuadPart) / frequency.QuadPart;

    std::cout << "Operation took " << elapsedTime << " seconds.\n";

    return 0;
}