Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.10.2009, 17:28   #1
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию Как определить время работы функции?

Вроде дней 5 назад тут была похожая тема, но не смог найти поиском =\

Добавлено:
Брать в начале функции сис время и в конце, а потом искать их разницу не предлагать Вроде была какая-то одна функция...

Последний раз редактировалось TwiX; 08.10.2009 в 17:49.
TwiX вне форума Ответить с цитированием
Старый 08.10.2009, 19:27   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Вроде была какая-то одна функция...
вроде бы не встречал такую..

Цитата:
Брать в начале функции сис время и в конце, а потом искать их разницу не предлагать
а это чем не нравится?

Код:
  GetSystemTime(st);
  TimeStart := (st.wHour * 3600000 + st.wMinute * 60000 +
                st.wSecond * 1000 + st.wMilliseconds);

<Тут Ваша функция>

  GetSystemTime(st);
// подсчитаем время
  TimeCur := (st.wHour * 3600000 + st.wMinute * 60000 +
                st.wSecond * 1000 + st.wMilliseconds);
  Memo1.Lines.Add('время расчёта функции XXXX = ' +
                   IntToStr(TimeCur - TimeStart) + ' мс.');
а ещё, если Вы озабочены повышением быстродействия,
то есть такие программы - Профайлер для Delphi
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.10.2009, 19:33   #3
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
а это чем не нравится?

Код:
  GetSystemTime(st);
  TimeStart := (st.wHour * 3600000 + st.wMinute * 60000 +
                st.wSecond * 1000 + st.wMilliseconds);
...
  Memo1.Lines.Add('время расчёта функции XXXX = ' +
                   IntToStr(TimeCur - TimeStart) + ' мс.');
Я просил не предлагать этот вариант не потому, что я сам не могу его написать

Чётко помню: кто-то создал похожую тему, как раз ответил, что надо или таймером или так, но следующий ответил одной функцией. Мне кажется она напоминала extractfilepath() =)
TwiX вне форума Ответить с цитированием
Старый 08.10.2009, 20:57   #4
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

Может GetTickCount() ?
W0LF вне форума Ответить с цитированием
Старый 08.10.2009, 21:04   #5
SNUPY
Форумчанин
 
Регистрация: 15.02.2008
Сообщений: 621
По умолчанию

Не мой код... взято отсюдова: http://www.hack-info.ru/showthread.php?t=53696

Код:
function _RDTSC: int64; assembler;
asm
//RDTSC
db $0F,$31
end;

function GetCmdDiff: int64; stdcall;
var
t: int64;
begin
t := _RDTSC;
// здесь твоя функция
Result := (_RDTSC - t);
end;
Помог? Ну так нажми на весы!
SNUPY вне форума Ответить с цитированием
Старый 09.10.2009, 10:11   #6
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Цитата:
Сообщение от W0LF Посмотреть сообщение
Может GetTickCount() ?
Да, именно то, что я искал)
TwiX вне форума Ответить с цитированием
Старый 09.10.2009, 15:37   #7
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Может лучше QueryPerformanceCounter?
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 09.10.2009, 17:21   #8
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Вроде гетТикКаунт неплохо справляется =)
Про это можно поподробней?)
TwiX вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как определить время выполнения конкретный функции? Alex Cones Общие вопросы Delphi 8 24.09.2009 11:42
Время работы функции с массивом. Daedro Помощь студентам 8 14.07.2009 15:40
Ввод вычисляемой функции во время работы программы DAV88 Помощь студентам 4 25.04.2009 15:41
Как вывести время работы приложения razzmatazz Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 23.03.2009 00:17
Как определить время работы процедуры или операции? Roof Общие вопросы Delphi 7 18.01.2009 21:56