Посчитать Интервал Времени

Тема в разделе "Общие вопросы по С и С++", создана пользователем Wolfises, 26 мар 2012.

  1. Wolfises

    Wolfises Member

    Регистрация:
    5 апр 2009
    Сообщения:
    14
    Симпатии:
    0
    Здравствуйте, простите за такие простые вопросы... (больше часа пытаюсь реализовать такую мелочь..., это уже третий способ)
    искал как можно реализовать подсчет интервала времени выполнения куска кода, наткнулся на функцию: timeGetTime
    вот сама программа:
    Код (Text):
    #include <iostream>
    #include <windows.h>
    #include <time.h>
    #pragma comment(lib, "winmm.lib")
    using namespace std;
    const unsigned int num = 100000;
    const unsigned int kol = 1000000;

    int main()
    {
    srand(time(NULL));
    unsigned int i,j;
    int mas[num],mas_copy[num];

    for (i=0;i<=(num-1);i++)
    {
    mas[i]=rand()%1000;
    }

    DWORD t1,t2,delta;

    t1=timeGetTime();
    for (j=0; j<=kol;j++)
    {
    for (i=0;i<=(num-1);i++)
    {
    mas_copy[i]=mas[i];
    }
    }

    t2=timeGetTime();

    delta=(t2-t1)/(double)kol;

    cout<<"time to copy: "<<(int)delta;

    return 0;
    }

    как бы я не старался манипулировать с переменными, всегда выводит либо 0, либо зависает, либо винда прекращает работу
    помогите пожалуйста понять в чем дело, или предложите альтернативный вариант способа подсчитать интервал времени(рабочий вариант)

    спасибо, разобрался, наконец нашел библиотеку ctime, и функцию clock()...
     
  2. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    timeGetTime() возвращает время в миллисекундах, чтобы преобразовать их в секунды необходимо разницу t2 - t1 делить на 1000.
     
Загрузка...

Поделиться этой страницей