Статистика времени выполнения процедур

Форум для изучающих FPC и их учителей.

Модератор: Модераторы

Статистика времени выполнения процедур

Сообщение DropSoft » 19.12.2018 15:42:51

Показалось мне, что моя разросшаяся программа на лазарусе под Windows стала медленно работать. Добавил контроль времени исполнения некоторых процедур, нашел и исправил некоторые проблемы, стало работать в несколько раз быстрее. Проверял примерно так:
Код: Выделить всё
 
  QueryPerformanceFrequency(iCounterPerSec);//определили частоту счётчика
  QueryPerformanceCounter(T1); //засекли время начала операции

  MyFunction();

  QueryPerformanceCounter(T2); //засекли время окончания операции
  T3 := T2 - T1;
  Tsum := Tsum + T3;
  PrintLog(IntToStr(Trunc(T3 * 1000000 / iCounterPerSec)) + 'мкс,  суммарно: ' + IntToStr(Trunc(Tsum * 1000000 / iCounterPerSec))); // выводим в лог

И возник вопрос, а есть ли какие-то средства в Lazarus, чтобы измерить статистику, сколько какая процедура тратит времени на выполнение, не прибегая к подобным костылям?
DropSoft
новенький
 
Сообщения: 31
Зарегистрирован: 31.03.2013 13:47:40

Re: Статистика времени выполнения процедур

Сообщение zub » 19.12.2018 16:32:48

zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: Статистика времени выполнения процедур

Сообщение DropSoft » 19.12.2018 16:56:58

zub Огромное спасибо! Вроде то что надо.
DropSoft
новенький
 
Сообщения: 31
Зарегистрирован: 31.03.2013 13:47:40

Re: Статистика времени выполнения процедур

Сообщение zub » 19.12.2018 17:19:53

http://wiki.freepascal.org/LazProfiler небольшое описание
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26


Вернуться в Обучение Free Pascal

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8

Рейтинг@Mail.ru