Удивительно, прошедшее время в Windows и Linux - PullRequest
1 голос
/ 09 января 2012

Я написал одну функцию, которая не зависит от платформы и прекрасно работает как в Windows, так и в Linux.Я хотел проверить время выполнения этой функции.Я использую QueryPerformanceCounter для расчета времени выполнения в Windows и «gettimeofday» в Linux.Проблема в том, что в 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 )     
...