Форум: "Начинающим";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];
Внизвремя, затрачиваемое на выполнение процедуры или ф-ии Найти похожие ветки
← →
zxcv (2006-02-22 14:58) [0]подскажите как узнать время, затрачиваемое
на выполнение процедуры или ф-ии
← →
McSimm © (2006-02-22 15:01) [1]запомнить время до выполнения
вычесть из времени после выполнения
← →
zxcv (2006-02-22 15:03) [2]логично,
а как текущее время получить?
← →
Alkid © (2006-02-22 15:07) [3]Функция Now.
Но она может иметь слишком низкое разрешение для твоих нужд,
Смотри функции
QueryPerformanceCounter
QueryPerformanceFrequence
← →
vidiv © (2006-02-22 15:15) [4]GetTickCount()
← →
vidiv © (2006-02-22 15:23) [5]uses ..., Windows,...
...
var time:dword;
...
time := GetTickCount();
... YouFunction(...);
time := GetTickCount() - time;
после этого в time у тебя время выполнения функции в 1/1000 частях секунды.
Есть один ньюанс: После, примерно, 49 дней и 17 часов непрерывной работы компьютера счетчик, используемый функцией GetTickCount сбрасывается на ноль. Что может повлечь за собой неадэкватный результат. Поэтому данный способ годится только для отладки :) Если функция достаточно быстра, т.е. однозначно выполняется быстрее чем 49 дней, то можно использовать следующую поправку.
uses ..., Windows,...
...
var time:dword;
...
time := GetTickCount();
... YouFunction(...);
time := GetTickCount() - time;
if time<0 then time := 4294967295 + time;
где 4294967295 = (2^32-1) = максимальное значение счетчика.
Мой пост - это не истина в последней инстанции, а лишь мое осознание действительности! Так что прошу не судить строго!
← →
vidiv © (2006-02-22 15:30) [6]
> а лишь мое осознание действительности
Вот нашел ошибку, уже после нажатия кнопки "Отправить"
dword не может принимать отрицательные значения, поэтому можно сделать следующую поправку:
uses ..., Windows,...
...
var time1, time2:dword;
...
time1 := GetTickCount();
... YouFunction(...);
time2 := GetTickCount();
if time1>time2 then
time1 := 4294967295 - time1 + time2
else
time1 := time2 - time1;
результат в time1
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.013 c