| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Длительность операции в миллисекундах |
| Автор: JoeBlack 12.10.2006, 13:04 |
| Доброе время суток! Можно подсчитать время выполнения чего-то( всей проги или какой-то части ее) в секундах. Возможно ли более мелкое деление (миллисекунды, например..)? Или, что еще лучше, в тактах.... Хотя, за один такт может выполняться несколько операций ( если правильно помню). Спасибо! |
| Автор: Romikgy 12.10.2006, 13:18 |
| легко GetTickCount() до операции и после , разница между ними и будет, то что те нужно |
| Автор: Athlon 12.10.2006, 13:20 |
| Еще можно использовать GetSystemTime, если операция достаточно длительная |
| Автор: Дрон 12.10.2006, 13:39 |
| QueryPerformanceFrequency и QueryPerformanceCounter -- конечно, не такты, но точность хоть куда Добавлено @ 13:39 А вообще сто раз уже спрашивали. На форуме ведь есть поиск |
| Автор: Мяут 12.10.2006, 13:54 | ||
Насчет тактов - не уверен |
| Автор: JoeBlack 12.10.2006, 15:21 |
| Спасибо за помощь! А Дрон отдельное спасибо за нагоняй..))))) Действительно посмотрел потом, была такая тема...Только я почему-то был уверен, что это мало кому понадобится. Посему, если и спрашивали, то скорей всего речь шла лишь о секундах... Спасибо!!!!! |
| Автор: vinter 12.10.2006, 16:22 | ||
зачем сначала делить н 1000, а потом умножать на нее же?? |
| Автор: JackYF 12.10.2006, 16:55 |
| Ну, кстати, не факт же, что CLOCK_PER_SEC равно именно 1000. В моей реализации тоже так, но мало ли... Стандарт есть стандарт... Переносимость того стоит, ИМХО. |
| Автор: vinter 12.10.2006, 17:11 | ||
секунды это международный стандарт, а ф-ия clock() дает значение в миллисекундах, так что значение
может изменится, только если у человечества изменится представление о времени ИМХО |
| Автор: JackYF 12.10.2006, 20:05 |
| В дополнение к Мяут'у: Функция clock() не дает "значение в миллисекундах"! В каком стандарте ты это вычитал? Я, когда разбирался с этой функцией, такого не увидел... |
| Автор: vinter 12.10.2006, 21:36 | ||
кроме С'шного стандарта существует еще метрологические стандарты.. и в них как раз описано , что приставка милли есть ничто иное как 10^-3 , при делении на CLOCK_PER_SEC мы получаем значение в секундах, я думаю дальше объяснять не нужно |
| Автор: JackYF 13.10.2006, 16:39 | ||
Я знаю, что такое приставка милли Просто, извини, я не видел слово миллисекунды в описании функции. Откуда ты точно знаешь, что она отдает миллисекунды? Из размеры константы CLOCKS_PER_SEC ? Добавлено @ 16:40 РазмерА Добавлено @ 16:40 А точнее, значения... |
| Автор: vinter 13.10.2006, 17:28 | ||||
ну не прям точно
да |
| Автор: Romikgy 13.10.2006, 23:21 |
| vinter, имхо точнее будет даже нежели т.к. клок выдает время в секундах, а ты переводишь в милисекунды! а геттиккаунт сразу выдает в милисекундах |
| Автор: vinter 14.10.2006, 07:45 | ||
наоборот выдает он как-раз в миллисекундах, а переводят в секунды. |
| Автор: Romikgy 14.10.2006, 10:52 | ||
vinter, одно меня смущает
нигде не говорится что время возвращеное этой ф_цией является милисекундами в макрос CLK_TCK имхо может всунутся все что угодно , хотя под винду вроде как это 1000 |
| Автор: JackYF 16.10.2006, 15:15 | ||
Нет, все-таки clock() выдает время не в секундах, а в "клоках", коих в секунду CLOCKS_PER_SEC... Но это так... ИМХО, обсуждение закончено. |