botanik писал(а):
Написал несколько алгоритмов, хочу проверить время их работы.
Код с QueryPerformance..., который привел
VLarin, дает более высокую точность, но я обычно стараюсь обходиться стандартными средствами и использую такой код:
Код:
double d;
int iLoop;
int numberOfLoops = 1000;
clock_t StartTime, StopTime;
StartTime = clock();
for (iLoop=0; iLoop<numberOfLoops; iLoop++)
{
// implementation of the algorithm
}
StopTime = clock();
d = (double)(StopTime - StartTime) / CLOCKS_PER_SEC;
cout << d / numberOfLoops << " sec" << endl;
Чтобы повысить точность измерения достаточно увеличить число циклов.
Если проверяемый код очень короткий, для получения приемлемой оценки нужно использовать много циклов, например 10000000. В таком случае можно отдельно замерить время выполнения пустого цикла и вычесть накладные расходы на for (){}.