![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| HMLd |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 27.6.2006 Где: Polska Репутация: 1 Всего: 0 |
Как узнать время выполнения программы?...Я что-то слышал про 046Ch...
Можно пример?...Или линк на статью... |
|||
|
||||
| Kostt |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 169 Регистрация: 8.1.2006 Где: Томск Репутация: 1 Всего: 3 |
ОС какая?
|
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
вот тебе пример(тоже однажды решил фигней пострадать - позамерять)
|
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
если *ix
можешь команду shell times использовать # times <твоя программа> еще достаточно точный способ через clock -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| NiJazz |
|
|||
![]() Jazz coder ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2286 Регистрация: 10.8.2003 Где: Москва Репутация: 1 Всего: 23 |
Если под винду, то не надо таких ивзратов. Есть GetTickCount. Эта функция показывает, сколько миллисекунд прошло после старта системы (с какого-то там момента). Можно запомнить значение в начале работы алгоритма/программы и затем вычесть это значение от результата функции в конце.
Если не винда, то скорее всего clock. Linux, к примеру, вообще в плане API небогат. |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
и это его преимущество -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| NiJazz |
|
|||
![]() Jazz coder ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2286 Регистрация: 10.8.2003 Где: Москва Репутация: 1 Всего: 23 |
Не преимущество, а дубовизна скорее. Там до сих пор синхронизуются с помощью файлов?
|
|||
|
||||
| MAKCim |
|
||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||
|
|||||
| HMLd |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 27.6.2006 Где: Polska Репутация: 1 Всего: 0 |
Винда...
Надо попробовать заюзать... |
||||
|
|||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
винда "многозадачная" система так что в твои расчеты может попасть лишнее время. лучше GetThreadTimes "не придумать" |
|||
|
||||
| SergeCpp |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 955 Регистрация: 8.8.2005 Где: At Home Репутация: 15 Всего: 124 |
||||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
А при помощие макроса _TIME_ нельзя? Использовать его как точку отсчета. Время начала обработки текущего файла ...
|
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 8 Всего: 158 |
||||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
dumb Хм, просто в книжке было "обработка файла". Я не очень понял о чем они: о компиляции, или запуске ...
|
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
начало/конец компиляции ? -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| NiJazz |
|
|||
![]() Jazz coder ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2286 Регистрация: 10.8.2003 Где: Москва Репутация: 1 Всего: 23 |
Макрос __TIME__ заменяется на текущее время при выполнении кода. Это трассировочный макрос и является, кажется, строкой, для этих целей он не подходит. |
|||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
MAKCim, ну я типа думал, что это время запуска приложения
|
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
при выполнении кода понятия макрос не существует оно есть только на этапе разработки/компиляции (даже не линковки) -------------------- qqq |
|||
|
||||
| SergeCpp |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 955 Регистрация: 8.8.2005 Где: At Home Репутация: 15 Всего: 124 |
MSDN
__TIME__ The most recent compilation time of the current source file. The time is a string literal of the form hh:mm:ss. |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
я бы даже сказал на этапе препроцессирования -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
Но если нужно узнать время работы программы, то почему бы в самом ее начале не воткнуть цикл-счетчик и все? Или я не совсем так понял задачу ...
|
|||
|
||||
| SergeCpp |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 955 Регистрация: 8.8.2005 Где: At Home Репутация: 15 Всего: 124 |
В Вашем решении считается время всех процессов...
|
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
а процессорное время на работу со счетчиком? -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
MAKCim, а что нужно сделать точкой отсчета?
|
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
передачу управления функции main потому как при клике по экзешнику выполняется еще куча всего, что прямо не относится к программе -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| EvgenZ |
|
|||
![]() Freedom in me ![]() ![]() Профиль Группа: Участник Сообщений: 407 Регистрация: 3.8.2006 Репутация: 1 Всего: 11 |
А как узнать время "компьютера" и чтобы оно все время проверялось? Чтобы при запуске программы она получала время и через определенный период сравнивала время программы и системное время.
-------------------- <удалено администрацией форума> |
|||
|
||||
| codelord |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 777 Регистрация: 7.5.2005 Где: ты моя темноглаза я где?! Репутация: 1 Всего: 39 |
systime n; GetLocalTime(&n); .... можно и GetSystemTime(&n); ... а чтобы сравнить можно и самому поразмышлять это даже интересно |
|||
|
||||
| EvgenZ |
|
|||
![]() Freedom in me ![]() ![]() Профиль Группа: Участник Сообщений: 407 Регистрация: 3.8.2006 Репутация: 1 Всего: 11 |
Что-то не понятно
Сравнение согласен, можно и самому придумать без проблемм -------------------- <удалено администрацией форума> |
|||
|
||||
| EvgenZ |
|
|||
![]() Freedom in me ![]() ![]() Профиль Группа: Участник Сообщений: 407 Регистрация: 3.8.2006 Репутация: 1 Всего: 11 |
а как это можно обрабатывать? Например мне нужно только минуты и секунды, как мне их "переприсвоить" своему классу ? -------------------- <удалено администрацией форума> |
|||
|
||||
| Mayk |
|
||||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
зачем тебе текущее время в строковом виде? Лучше как выше говорят, используй clock(ибо портируемо и достаточно точно)
-------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
||||
|
|||||
| EvgenZ |
|
|||
![]() Freedom in me ![]() ![]() Профиль Группа: Участник Сообщений: 407 Регистрация: 3.8.2006 Репутация: 1 Всего: 11 |
если не ошибаюсь, функция clock() возвращает целочисленное значение типа clock_t – это время, прошедшее с момента запуска программы. а мне нужно системное время ящика
Это сообщение отредактировал(а) EvgenZ - 15.8.2006, 11:45 -------------------- <удалено администрацией форума> |
|||
|
||||
| Dragon |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 10.8.2006 Где: Киев Репутация: нет Всего: нет |
Имеешь в виду обмен данными между процессами? Есть функция mmap - от memory map, которая с опциями MAP_SHARED | MAP_ANONYMOUS не создает backend файла. Кроме того, расширение понятия файловой системы, например /proc - это плюс, а не минус - т.к. эти "файлы" только отображаются как часть файловой системы, на самом деле их там и не существует. Это унификация доступа к информации. По сабжу:
Вот общая реализация для Linux - но совсем несложно портировать. ExecutionTimer в принципе дает все необходимое в плане расчета времени. Но для debug целей приложение может создать производный класс с деструктором, выводящим расчитанное время в приемлемой форме - т.е. в консоль, в log файл, хоть MessageBox'ом Т.е. достаточно создать объект в начале расчетного интервала, а по выходе из области видимости по уничтожении объекта автоматически будет отображено время. Это сообщение отредактировал(а) Dragon - 15.8.2006, 13:15 |
||||
|
|||||
| Бор |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 25.7.2006 Репутация: нет Всего: нет |
И жизнь покажется раем |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |