Здраствуйте,
Как можно измерить время выполнения функции (как можно точнее напр. в мкс),
и насколько в этом случае можно "доверять" clock()?
Заранее спасибо.
Здравствуйте Genie, Вы писали:
G>Как можно измерить время выполнения функции (как можно точнее напр. в мкс),
Прогнать ее 1000 раз
G>и насколько в этом случае можно "доверять" clock()?
по-моему, до миллисекунды
Здравствуйте Genie, Вы писали:
G>Здраствуйте, G>Как можно измерить время выполнения функции (как можно точнее напр. в мкс), G>и насколько в этом случае можно "доверять" clock()?
если для отладлочных цедей — то можно пользовать профайлеры ...
Numega TrueTime & VTune от Intela
G>Заранее спасибо.
Здравствуйте Ростислав Глухов, Вы писали:
РГ>Здравствуйте Genie, Вы писали:
G>>Как можно измерить время выполнения функции (как можно точнее напр. в мкс), РГ>Прогнать ее 1000 раз
Это конечно так, а для большей точности и 1000000 раз можно, но ведь в этом
случае нарушается чистота замера (будут "навденные помехи" на вызов функции и на собственно сам цикл)
G>>и насколько в этом случае можно "доверять" clock()? РГ>по-моему, до миллисекунды
Это потому что CLOCKS_PER_SEC=1000? А что такое clocks и связано ли его значение как-то, ну скажем, с частотой процессора?
Здравствуйте Igor Soukhov, Вы писали:
IS>Здравствуйте Genie, Вы писали:
G>>Здраствуйте, G>>Как можно измерить время выполнения функции (как можно точнее напр. в мкс), G>>и насколько в этом случае можно "доверять" clock()? IS>если для отладлочных цедей — то можно пользовать профайлеры ... IS>Numega TrueTime & VTune от Intela
Нельзя ли немного по-подробнее про это (я просто о таком не слышал). Может ссылочку, где об этом почитать можно... А какой у них вообще принцип действия?
Здравствуйте Genie, Вы писали:
G>Здравствуйте Ростислав Глухов, Вы писали:
РГ>>Здравствуйте Genie, Вы писали:
G>>>Как можно измерить время выполнения функции (как можно точнее напр. в мкс), РГ>>Прогнать ее 1000 раз
G>Это конечно так, а для большей точности и 1000000 раз можно, но ведь в этом G>случае нарушается чистота замера (будут "навденные помехи" на вызов функции и на собственно сам цикл)
нарушается, действительно, если для отладочных целей, то может использовать,как писАл Igor Soukhov
сторонние программы?
мне напр. нравится Rational Quantify
G>>>и насколько в этом случае можно "доверять" clock()? РГ>>по-моему, до миллисекунды
G>Это потому что CLOCKS_PER_SEC=1000? А что такое clocks и связано ли его значение как-то, ну скажем, с частотой процессора?
Да, и clock() возвращает long. Константа не связана, точность зависит ли от частоты не знаю.
Здравствуйте Genie, Вы писали:
G>Как можно измерить время выполнения функции (как можно точнее напр. в мкс), G>и насколько в этом случае можно "доверять" clock()?
Насчёт степени доверия clock() — не знаю, но можно измерить время выполнения функции с точностью до такта, используя ассемблерные вставки (смотрим TSC командой RDTSC и получаем, сколько тактов оттакало, пока функция работала).
В ticks получится количество тактов на функцию. Понятно, что этот код страшно аппаратно зависим. Вам надо как-то узнать частоту процессора, чтобы посчитать количество мкс. Кроме того, в многозадачной среде часть времени, в которое выполняется ваша функция, могут занять другие задачи.
В общем, неудобно. Зато точно (с точностью до такта).
G>>Это конечно так, а для большей точности и 1000000 раз можно, но ведь в этом G>>случае нарушается чистота замера (будут "навденные помехи" на вызов функции и на собственно сам цикл) РГ>нарушается, действительно, если для отладочных целей, то может использовать,как писАл Igor Soukhov РГ>сторонние программы? РГ>мне напр. нравится Rational Quantify
Если это дейтсвительно единственный способ, то тот же вопрос, что Igorю Soukhovу,
просветите пожалуйста где их взять, как ими пользоваться, каков их принцип действия и т.п. Тот же Rational Quantify — где его можно взять?
Здравствуйте Genie, Вы писали:
G>Здраствуйте, G>Как можно измерить время выполнения функции (как можно точнее напр. в мкс), G>и насколько в этом случае можно "доверять" clock()? G>Заранее спасибо.
Здравствуйте Genie, Вы писали:
G>просветите пожалуйста где их взять, как ими пользоваться, каков их принцип действия и т.п. Тот же Rational Quantify — где его можно взять?