1

プラットフォームに依存せず、Linux だけでなく Windows でもうまく機能する関数を 1 つ作成しました。その関数の実行時間を確認したかったのです。Windows では QueryPerformanceCounter を使用し、Linux では「gettimeofday」を使用して実行時間を計算しています。問題は、Windows では実行時間が 60 ミリ秒であり、Linux では 4 ミリ秒を示していることです。それらとの大きな違いです。誰かが何がうまくいかなかったのかを提案できますか....または、経過時間を計算するためにこれらよりも他のいくつかのAPIをよく知っている人がいる場合は、私に知らせてください...

gettimeofdayを使用して書いたコードは次のとおりです......

void main()
{
    timeval start_time;
    timeval end_time;
    gettimeofday(&start_time,NULL);

              function_invoke(........);

    gettimeofday(&end_time,NULL);
    timeval res;
    timersub(&start_time,&end_time,&res);

    cout<<"function_invoke took seconds = "<<res.tv_sec<<endl;
    cout<<"function_invoke took microsec = "<<res.tv_usec<<endl;
}

OUTPUT :
    function_invoke took seconds = 0
    function_invoke took microsec = 4673 ( 4.673 mili seconds )     
4

0 に答える 0