![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| bip |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 15.3.2007 Репутация: нет Всего: нет |
Добрый вечер!
Предлагаю вашему вниманию отрывок статьи: С измерением времени работы программы в многозадачной операционной системе, какой является Windows, связаны определенные трудности. Они обусловлены тем, что процессор всегда выполняет несколько процессов (программ) «одновременно». Таким образом, если мы просто замерим время работы нашей программы, то в этот интервал попадут и какие-то другие процессы. Схематично это можно представить следующим образом: Пусть на однопроцессорном компьютере активно выполняются 5 процессов (программ). Процессор в некотором порядке выполняет все эти программы – по одной в каждый интервал времени. Наша программа (процесс 2) запомнила значение времени до замеряемого участка кода, а потом после него, и вычислила временной интервал. На рисунке видно, что в этот интервал также попали и другие процессы, время исполнения которых нам совершенно не нужно измерять. Необходимо различать следующие времена, которые можно получить с помощью различных функций: • Системное время – время, одинаковое для всех программ, работающих на данном компьютере. Функция clock(), например, возвращает значение относительно системного времени, поэтому оно содержит «лишнее» время работы посторонних процессов. Минимизировать это «лишнее» время можно, если во время замера убрать все другие программы, «съедающие» процессорное время. • Время процесса – время, которое было потрачено на выполнение конкретного процесса (программы). По сути, именно его желательно получить. Для определения времени процесса в многозадачных операционных системах существуют различные библиотечные функции, специфичные для данной конкретной операционной системы. У меня возникает вопрос: Как посчитать время процесса в windows, если я компилирую в Borland turbo C++ 3.1(ОС windows) ? Это сообщение отредактировал(а) bip - 9.11.2009, 18:58 |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
|
|||
|
||||
| bip |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 15.3.2007 Репутация: нет Всего: нет |
возьму на заметку |
||||
|
|||||
| Sniper_super |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 8.5.2007 Репутация: нет Всего: нет |
|
|||
|
||||
| Alek86 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
GetProcessTimes
|
|||
|
||||
| bip |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 15.3.2007 Репутация: нет Всего: нет |
И где мне её взять в Turbo C++ 3.1 ? в windows.h её нет! |
|||
|
||||
| Alek86 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
возьми тогда компилятор поновее
|
|||
|
||||
| bip |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 15.3.2007 Репутация: нет Всего: нет |
тема закрыта.
Это сообщение отредактировал(а) bip - 11.11.2009, 00:35 |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |