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

05.04.2009
14
0
#1
Здравствуйте, простите за такие простые вопросы... (больше часа пытаюсь реализовать такую мелочь..., это уже третий способ)
искал как можно реализовать подсчет интервала времени выполнения куска кода, наткнулся на функцию: timeGetTime
вот сама программа:
Код:
#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()...
 

lazybiz

Well-known member
03.11.2010
1 339
0
#2
timeGetTime() возвращает время в миллисекундах, чтобы преобразовать их в секунды необходимо разницу t2 - t1 делить на 1000.