Время отслеживания для запуска функции - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть 2 вопроса.Одна базовая логистика и одна «Почему?!»

Первая!

high_resolution_clock::time_point t1 = high_resolution_clock::now();        
for (int i = 1; i < count; i++) {a.prepend(i);}                           
high_resolution_clock::time_point t2 = high_resolution_clock::now();   
duration<double, milli> time_span = t2 - t1;                                

cout << "It took me " << time_span.count() << " XXXX to run this "

Что именно это возвращает?Я подумал, , что это были секунды, но это говорит мне 4 секунды для программы, которая выполняется почти мгновенно.

Теперь большой вопрос.Я пытаюсь получить время выполнения ряда функций, все они работают 1/10/100/10000/100000 раз.Очевидно, что он будет постепенно увеличиваться.

Но если я запускаю одну функцию самостоятельно, я получаю такие моменты мгновенно (не через 5 секунд) ..

Add at i
It took me 0.000471 seconds to run this 1 times.
It took me 0.005088 seconds to run this 10 times.
It took me 0.017778 seconds to run this 100 times.
It took me 0.151778 seconds to run this 1000 times.
It took me 1.25263 seconds to run this 10000 times.
It took me 3.97601 seconds to run this 100000 times.

Если я сначала запускаю 2 или три другие функции, это дает мне эточерез 25 секунд.

Add at i
It took me 5.2e-05 seconds to run this 1 times.
It took me 0.000781 seconds to run this 10 times.
It took me 0.022803 seconds to run this 100 times.
It took me 2.15357 seconds to run this 1000 times.
It took me 205.209 seconds to run this 10000 times.
It took me 20848.9 seconds to run this 100000 times.

У кого-нибудь есть мысли?

...