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

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

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

Ответить
DropSoft
новенький
Сообщения: 33
Зарегистрирован: 31.03.2013 13:47:40

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

Сообщение DropSoft »

Показалось мне, что моя разросшаяся программа на лазарусе под 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
новенький
Сообщения: 33
Зарегистрирован: 31.03.2013 13:47:40

Сообщение DropSoft »

zub Огромное спасибо! Вроде то что надо.
zub
долгожитель
Сообщения: 2889
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

http://wiki.freepascal.org/LazProfiler небольшое описание
Ответить