Название: время формирования запроса в системных тиках Отправлено: blood_shadow от Август 24, 2011, 23:16 Стоит в задании строчка что нужно записывать в структуру - "время формирования запроса в системных тиках"
порылся в интернете все толкают ф-цию GetTickCount() - но она возвращает время которое прошло от старта программы до настоящего момента в милисекундах: Код: GetTickCount Function тогда помойму лучше использовать ф-цию clock() из <time.h> Но тревожит другой вопрос, а не означает случайно что "время формирования запроса в системных тиках" это абсолютное значение времени, а не относительно старта программы? Название: Re: время формирования запроса в системных тиках Отправлено: LisandreL от Август 25, 2011, 07:30 Стандартный приём - в начале измеряемого промежутка сохраняем значение GetTickCount(), а в конце - находим разность между текущими показаниями и временем старта.
Т.е. Код Впрочем для измерения в миллисекундах можно использовать QDateTime::currentMSecsSinceEpoch в точно таком же ключе. Ну или QDateTime::msecsTo. Цитировать Но тревожит другой вопрос, а не означает случайно что "время формирования запроса в системных тиках" Это вам лчше уточнить у дававшего задание.Название: Re: время формирования запроса в системных тиках Отправлено: kambala от Август 25, 2011, 10:45 Стандартный приём - в начале измеряемого промежутка сохраняем значение GetTickCount(), а в конце - находим разность между текущими показаниями и временем старта. а я думал стандартным приёмом является использование clock() :)Название: Re: время формирования запроса в системных тиках Отправлено: brankovic от Август 25, 2011, 11:57 а я думал стандартным приёмом является использование clock() :) clock -- плохая функция. Под линуксами если несколько тредов она считает некую "сумму по тредам". Тиками процессора в ней и не пахнет. Я вообще предпочитаю мерить реальное время, это как-то надёжнее. Название: Re: время формирования запроса в системных тиках Отправлено: blood_shadow от Август 25, 2011, 19:14 Код
а потом умножить на CLOCKS_PER_SEC которая определена в <ctime>? Название: Re: время формирования запроса в системных тиках Отправлено: LisandreL от Август 26, 2011, 00:02 а потом умножить на CLOCKS_PER_SEC которая определена в <ctime>? Цитата: time.h /* Тысяча в секунду - это… это… внезапно миллисекунда. Никакого перевода не нужно.* Number of clock ticks per second. A clock tick is the unit by which * processor time is measured and is returned by 'clock'. */ #define CLOCKS_PER_SEC ((clock_t)1000) P.S. но если уж нет желания полагаться на то, что в вашем компиляторе CLOCKS_PER_SEC == 1000, то можно: Код
Название: Re: время формирования запроса в системных тиках Отправлено: brankovic от Август 26, 2011, 00:16 а как перевести c милисекунд в тики, достаточно перевести сначала в секунды, а потом умножить на CLOCKS_PER_SEC которая определена в <ctime>? да не переведёте вы ни в какие тики. Вы серьёзно думаете, что любой процессор выдаёт CLOCKS_PER_SEC тиков в секунду? У них разная тактовая частота вообще-то. Не может константа записанная в файле быть верной для любого процессора. Уж если прямо упёрлись эти тики (задание у вас и так примут скорее всего, но допустим из принципа), то читайте про QueryPerformanceCounter. Название: Re: время формирования запроса в системных тиках Отправлено: kuzulis от Август 26, 2011, 07:52 Цитировать Вы серьёзно думаете, что любой процессор выдаёт CLOCKS_PER_SEC тиков в секунду? Вообще то это не процессор выдает тики, а системный таймер. |