Форум программистов, компьютерный форум CyberForum.ru

как с точностью до микросекунд замерить время - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 93, средняя оценка - 4.61
Svinina
 Аватар для Svinina
5 / 5 / 0
Регистрация: 28.11.2010
Сообщений: 81
16.11.2011, 12:33     как с точностью до микросекунд замерить время #1
Товарищи, подскажите, как с точностью до микросекунд замерить время выполнения некоторой функции?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2011, 12:33     как с точностью до микросекунд замерить время
Посмотрите здесь:

Замерить время? C++
Как замерить длительность выполнения кода? C++
C++ Как замерить время работы функции?
C++ таймер микросекунд
C++ Как сделать, чтобы функция считала с точностью до
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
17.11.2011, 12:32     как с точностью до микросекунд замерить время #41
*Сложность алгоритмов вычисляется задолго до начали их программирования.
Увеличение скорости на доли секунды (или даже секунды) в 99.999% по барабану. Важна лишь сложность алгоритма. А она известна на этапе проектирования алгоритма, задолго до начала его реализации.
Если скорость алгоритма (сильно) не устраивают, то меняют алгоритм, а не выполняют оптимизацию.
Оптимизация это самый последний шаг, который лучше не делать.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,308
17.11.2011, 12:40     как с точностью до микросекунд замерить время #42
Не путай сложность алгоритма (которую действительно можно вычислить на этапе проектирования, до его реализации) и время его выполнения. Это не одно и то же.
Bers
Заблокирован
17.11.2011, 12:41     как с точностью до микросекунд замерить время #43
Цитата Сообщение от Deviaphan Посмотреть сообщение
*Сложность алгоритмов вычисляется задолго до начали их программирования.
Увеличение скорости на доли секунды (или даже секунды) в 99.999% по барабану. Важна лишь сложность алгоритма. А она известна на этапе проектирования алгоритма, задолго до начала его реализации.
Если скорость алгоритма (сильно) не устраивают, то меняют алгоритм, а не выполняют оптимизацию.
Оптимизация это самый последний шаг, который лучше не делать.
O(log) или О какая.. это как бы речь о сложности алгоритма, да..
Есть такое. Я в этом кстати, ни бум бум. Но здесь же речь не о сложности, а о скорости. Это две большие разницы.

Сложность алгоритма к скорости имеет лишь относительное отношение.

Можно, например, сказать, что один алгоритм работает с постоянной скоростью. Другой - зависит от количества элементов. Ну и тд. Фактическое среднестатистическое знание по времени может дать только эксперимент.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
17.11.2011, 12:52     как с точностью до микросекунд замерить время #44
Цитата Сообщение от Bers Посмотреть сообщение
Фактическое среднестатистическое знание по времени может дать только эксперимент.
"Среднестатистическое знание" дать никто не сможет. Только для конкретного компьютера при конкретных условиях работы.

О-сложность имеет к скорости самое прямое отношение. Т.к. оптимизации кода, а в некоторых случаях даже языки, можно рассматривать как константу. Т.е. пренебречь при оценке сложности.

Впрочем, согласен. Меня не в ту степь понесло. Тут речь не об этом.
Тут кто-то собирался оценивать скорость алгоритма путём миллиардов запусков? Например алгоритм решения матриц размером 10000х10000 (хотя бы), посчитайте пару миллиардов раз, чтобы среднюю скорость алгоритма вычислить.

Добавлено через 1 минуту
Цитата Сообщение от Deviaphan Посмотреть сообщение
"Среднестатистическое знание" дать никто не сможет.
Извиняюсь. Слово "эксперимент" прочитал как "эксперт". Гугл.транслэйт такой транслэйт.)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2011, 20:13     как с точностью до микросекунд замерить время
Еще ссылки по теме:

C++ Замерить время вычислений
Найти arctg(x) как бесконечную сумму с заданной точностью C++
Текущее время с точностью до миллисекунд C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Svinina
 Аватар для Svinina
5 / 5 / 0
Регистрация: 28.11.2010
Сообщений: 81
17.11.2011, 20:13  [ТС]     как с точностью до микросекунд замерить время #45
Эко вы далеко зашли, товарищи.=)
Нужна была всего лишь функция замера времени для оценки ускорения параллельной программы.
В итоге использовал timeofday().
Yandex
Объявления
17.11.2011, 20:13     как с точностью до микросекунд замерить время
Ответ Создать тему
Опции темы

Текущее время: 05:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru