関数の実行時間を取得する2つの方法

1459 ワード

1つ目:GetTickCount()関数の使用
この関数は、システムの実行から現在までの経過時間を返し、戻りタイプはDWORDであり、unsigned longの別名であり、単位はmsである.
#include 
#include 

void TestFun()
{
    //     ...
}
int main()
{
    DWORD start_time = GetTickCount();
    TestFun();
    DWORD end_time   = GetTickCount();
    cout << "     :" << end_time - start_time << "ms" << endl;
    return 0;
}

2つ目:clock()関数の使用
関数は、プログラム実行時刻からのクロックサイクル数を返します.タイプはlongです.マクロCLOCKS_PRE_SECは、1秒あたりのクロック単位を定義します.システムによっては、マクロが一致しない可能性があります.秒数取得が必要な場合は(end-start)/CloCKS_PRE_SECが必要です.
#include 
#include 

void TestFun()
{
    //     ...
}
int main()
{
    clock_t start = clock();
    TestFun();
    clock_t end = clock();
    cout << "     :" << (end-start)/CLOCKS_PRE_SEC << "s" << endl;
    return 0;
}