![]() |
|
![]() ![]() ![]() |
|
max07 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 21.12.2004 Репутация: нет Всего: нет |
Всем прюбет,
какой есть способ узнать сколько времени работала функция например в секундах ![]() Спасибо. Это сообщение отредактировал(а) max07 - 14.3.2006, 00:57 |
|||
|
||||
Nemesis |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 20.2.2005 Где: Москва Репутация: нет Всего: 5 |
Да можно вот так:
... long before = GetSystemTime(); func(); // твоя функция long delta = GetSystemTime() - before; // время выполнения в миллисекундах ... --------------------
|
|||
|
||||
Ctrl_Alt_Del |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 11.3.2006 Где: Ставрополь Репутация: 2 Всего: 2 |
Или так
![]() |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
лучше GetThreadTimes использовать -- будет учтено время _не работы_ потока.
хотя если время нужно только для сравнения, можно и простые time-ы использовать -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
max07 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 21.12.2004 Репутация: нет Всего: нет |
_hunter, как понять? |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
так и понять. в системе по-очередно работает несколько потоков
если утрировать, то два потока на одном процессоре работают по пол секунды. а GetTickCount покажет что поток проработал одну -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
max07 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 21.12.2004 Репутация: нет Всего: нет |
Nemesis, какие include'ы нужны для GetSystemTime(), а то вот чё выкидывает:
Defucker, в каких единицах эта функция выдаёт результат? |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
никаких инклюдов не нужно.
ты ее вызываеш не правильно. а результат она выдает в указателях на SYSTEMTIME -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
max07 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 21.12.2004 Репутация: нет Всего: нет |
а почему так получается что время до функции и после одинаковое. Всегда получается 0...
|
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 7 Всего: 67 |
возможно точности возвращаемого результата недостаточно....либо ты для хранения используешь не тот тип...
-------------------- СУВ, Partizan. |
|||
|
||||
Nemesis |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 20.2.2005 Где: Москва Репутация: нет Всего: 5 |
Можно так:
Можно узнать также сколько минут, дней и лет заняло выполнение функции ![]() Кстати, вызов такой функции
занял 16 миллисекунд, а такой функции
уже 16 секунд ![]() P.S. По-хорошему надо еще делать проверку на то, кто больше stAfter.wSecond или stBefore.wSecond, потому что если длительная функция, то будем отрицательный и неправильный результат. Это сообщение отредактировал(а) Nemesis - 15.3.2006, 02:16 --------------------
|
||||||
|
|||||||
Ctrl_Alt_Del |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 11.3.2006 Где: Ставрополь Репутация: 2 Всего: 2 |
max07
GetTickCount() возвращает результат в миллисекундах. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |