Статистика времени выполнения процедур
![Сообщение Сообщение](./styles/prosilver/imageset/icon_post_target.gif)
Показалось мне, что моя разросшаяся программа на лазарусе под Windows стала медленно работать. Добавил контроль времени исполнения некоторых процедур, нашел и исправил некоторые проблемы, стало работать в несколько раз быстрее. Проверял примерно так:
И возник вопрос, а есть ли какие-то средства в Lazarus, чтобы измерить статистику, сколько какая процедура тратит времени на выполнение, не прибегая к подобным костылям?
- Код: Выделить всё
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, чтобы измерить статистику, сколько какая процедура тратит времени на выполнение, не прибегая к подобным костылям?