За рутинске апликације за базе података на радној површини, додавање једне секунде времену извршења задатка ретко утиче на крајње кориснике - али када треба да обрадите милионе лишћа стабала или генеришете милијарде јединствених случајних бројева, брзина извођења постаје важнија.
Искључивање кода
У неким су апликацијама важне и срећом врло прецизне, прецизне методе мерења времена Делпхи пружа бројач високих перформанси за квалификовање ових пута.
Коришћење РТЛ-ова Сада Функција
Једна опција користи Сада функција. Сада, дефинисано у СисУтилс јединица, враћа тренутни датум и време система.
Прошло је неколико редака мере кода између „почетка“ и „заустављања“ неког процеса:
Функција Нов враћа тренутни датум и време система који су тачни до 10 милисекунди (Виндовс НТ и новији) или 55 милисекунди (Виндовс 98).
За врло мале интервале прецизност „Сада“ понекад није довољна.
Коришћење Виндовс АПИ-ја ГетТицкЦоунт
За још прецизније податке користите ГетТицкЦоунтВиндовс АПИ функција. ГетТицкЦоунт дохваћа број милисекунди који су прошли од покретања система, али функцију само има прецизност од 1 мс и не мора увек бити тачна ако рачунар остаје укључен дуго времена време.
Прошло време се чува као ДВОРД (32-битна) вредност. Стога ће се време временски смањити на нулу ако се Виндовс стално користи 49,7 дана.
ГетТицкЦоунт такође је ограничена на тачност тајмера система (10/55 мс).
Висока прецизност истицања кода
Ако ваш рачунар подржава бројач перформанси високе резолуције, користите тастер КуериПерформанцеФрекуенци Виндовс АПИ функција за изражавање фреквенције у тачкама у секунди. Вредност броја зависи од процесора.
Тхе КуериПерформанцеЦоунтер функција преузима тренутну вредност бројача перформанси високе резолуције. Позивањем ове функције на почетку и на крају секције кода, апликација користи бројач као тајмер високе резолуције.
Тачност тајмера високе резолуције износи око неколико стотина наносекунди. Наносекунда је јединица времена која представља 0,000000001 секунди - или 1 милијарду секунде.
ТСтопВатцх: Делпхи имплементација бројача високе резолуције
Уз климање главом. Нет конвенције о именовању, бројач као ТСтопВатцх нуди Делпхи рјешење високе резолуције за прецизна мјерења времена.
ТСтопВатцх мери протекло време бројењем кликова тајмера у доњем механизму тајмера.
- Тхе ИсХигхРесолутион својство показује да ли се тајмер заснива на бројачу перформанси високе резолуције.
- Тхе Почетак метода започиње мерење протеклог времена.
- Тхе Зауставити метода зауставља мерење протеклог времена.
- Тхе ЕлапседМиллисецондс својство добија укупно протекло вријеме у милисекундама.
- Тхе Истекло имовина добија укупно протекло вријеме у тајмерима.
Ево примера употребе: