Algorytm synchronizacji: clock () vs time () w C ++

Do pomiaru czasu algorytmu (w przybliżeniu w ms), które z tych dwóch podejść jest lepsze:

clock_t start = clock();
algorithm();
clock_t end = clock();
double time = (double) (end-start) / CLOCKS_PER_SEC * 1000.0;

Lub,

time_t start = time(0);
algorithm();
time_t end = time(0);
double time = difftime(end, start) * 1000.0;

Z niektórych dyskusji w kanale C ++ na Freenode wiem, że zegar ma bardzo złą rozdzielczość, więc czas będzie zerowy dla (stosunkowo) szybkiego algorytmu. Ale co ma lepszą rozdzielczość () lub zegar ()? Czy to samo?

questionAnswers(5)

yourAnswerToTheQuestion