プログラムの動作速度の計測

class Timer {

public:

    Timer(const WCHAR* pMarker)
        : marker(pMarker)
    {
        QueryPerformanceFrequency(&clock);
        QueryPerformanceCounter(&start);
    }

    ~Timer()
    {
        QueryPerformanceCounter(&finish);
        double t = (double)(finish.QuadPart - start.QuadPart) * 1000.0 / clock.QuadPart;

        WCHAR buff[256] = {};
        swprintf_s(buff, L"%ls : %f msec\n", marker.c_str(), t);
        OutputDebugString(buff);
    }

    std::wstring marker;
    LARGE_INTEGER clock, start, finish;
};

計測したいスコープ範囲で Timer オブジェクトを生成する。

参考

http://www.sanko-shoko.net/note.php?id=rnfd