Centaur
13:03 17-03-2004 Принцип неопределённости в профилировании программ
Когда в программу втыкаешь измерение времени, сколько ушло на какую функцию или блок, то треть времени начинает уходить как раз на измерение. В точности по Гейзенбергу
Комментарии:
Anafay
20:23 17-03-2004
Есть два способа профайлинга:
1) регистрировать время начала и окончания работы каждой фичи
2) запускать по таймеру процедуру анализа стека вызовов

(2) менее точен, не учитывает, например, ситуации множества коротких вызовов, которые было бы хорошо проинлайнить, но зато и намного менее затратен, да и можно регулировать длиной задержки соотношение затрат на измерение и достоверности результата.

И альтернативы: измерять не собственно время вызовов, а собирать статистику вызовов верхнего уровня, например, обработки виндовых сообщений, команд различных видов в серверном приложении и пр.