Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Измерение времени исполнения функции

Ответить
Настройки темы
Измерение времени исполнения функции
marine


Сообщения: n/a

Профиль | Цитировать


Подскажите как в VC измерить время с точностью до сотых миллисекунды (напр. время исполнения функции)

Отправлено: 16:35, 16-01-2003

 

Модер


Сообщения: 1716
Благодарности: 17

Профиль | Сайт | Отправить PM | Цитировать


marine

GetTime(&t1);
YourFavoriteFunction();
GetTime(&t2);
GetTime(&t3);
time = t2 - t1 - (t3 - t2) = 2 * t2 - t3 - t1;

Теперь что такое GetTime.
Эта штука должна возвращать время c требуемой точностью.
Например, ZwQuerySystemTime или через QueryPerformanceCounter. Для достижения точности придется YourFavoriteFunction вызывать кучу раз.

-------
Васкецов Сергей
http://registry.oszone.net


Отправлено: 17:00, 16-01-2003 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для XXXX Pro

Пользователь


Сообщения: 130
Благодарности: 0

Профиль | Сайт | Цитировать


Есть другой способ: использовать выскоточный системный таймер. Делается это с помощью двух функций:
QueryPerformanceCounter
QueryPerformanceFrequency
Первая функция возвращает текущее значение таймера, вторая - значение, на которое он изменяется за секунду. Время можно высчитать по формуле
(t2-t1)*10000/QueryPerformanceFrequency
(t2 - значение таймера после вызова функции, t1 - значение до вызова).
Но эти функции неудобны тем, что придется использовать 64-битные значения - так называемые Large Inetger (хотя большинство современных компиляторов  работают с ними нормально).

-------
Объединенный Открытый Проект OpenProj.Ru - сайт для Настоящих Компьютерщиков


Отправлено: 00:59, 19-01-2003 | #3

marine


Сообщения: n/a

Профиль | Цитировать


Спасибо ребята! Вы мне очень помогли!
Марина.

Отправлено: 14:09, 20-01-2003 | #4


Пользователь


Сообщения: 147
Благодарности: 0

Профиль | Отправить PM | Цитировать


Ребята мне надо просто в определеном месте запустить таймер и показывать его на экран.в секундах

и что бы я ставил таймер 10 сек и шел обратный отстет..после истечении времени что бы закнчил работу...

Отправлено: 18:44, 02-07-2008 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Измерение времени исполнения функции

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Медиа - Задержка исполнения звука. zhunko Microsoft Windows Vista 0 05-10-2009 01:00
Неудается очистить кэш распознователя DNS: ошибка исполнения функции i_can_win Microsoft Windows 2000/XP 0 27-09-2006 15:24
права для исполнения скрипта E-mail Вебмастеру 5 28-02-2005 19:47
Измерение времени исполнения Tushkanidze Программирование и базы данных 2 05-07-2004 16:01
Неужели я не могу на этапе исполнения создать Query? Nekhoroshkov Программирование и базы данных 2 24-04-2003 07:28




 
Переход