Какое точное время для запуска программы?

Я хочу точное время для запуска программы, я использую его из clock(), Но есть проблема, что я не могу дать точное время для маленьких n как 2000.

Я хочу, чтобы он вернул правильный ответ для n = 1000.

#include <iostream>
#include <ctime>
#include <algorithm>
using namespace std;

#define show_time(x, y) cout << endl << #x << " : " << y << endl;

int main()
{
int n;
cin >> n;
int *a = new int[n];

for(int i=0; i<n; i++)
a[i] = i;
random_shuffle(a, a+n);
int last = clock();

//STL_sort:
sort(a, a+n);
int lastP = clock();

show_time(STL_sort, (double)(lastP-last)/CLOCKS_PER_SEC);
return 0;
}

Выход равен 0. (Определенно 0 не будет ответом)

2

Решение

На какой платформе вы работаете? Если вы используете Windows, вы можете попробовать библиотека времени с высоким разрешением.

Если у вас есть доступ к C ++ 11, есть заголовок chrono который имеет похожая функциональность, и портативный (иш)!

4

Другие решения

Других решений пока нет …