Профилирование - это определение производительности в отношении вызовов функций / методов, например
- Время, потраченное на функции
- Время, потраченное на функции + время, потраченное на дочерние функции
- Количество вызовов конкретной функции
Вся идея профилирования состоит в том, чтобы получить хороший обзор системы, чтобы определить, где можно провести оптимизацию. Если вы знаете, что определенная функция вызывается в 20 раз чаще, чем вторая наиболее часто вызываемая функция, вы знаете, когда следует сосредоточить усилия по оптимизации.
Он также показывает, где не , чтобы провести время. Вы не хотите тратить день на оптимизацию функции, которая вызывается только один раз в час . Вы хотите сосредоточить свое время на оптимизации тех функций, которые вызываются несколько раз в секунду .
Регистрация , в моем понимании, просто отслеживает то, что было вызвано (но без подробных метаданных, связанных с каждым вызовом).
Профилирующие библиотеки, такие как Rational Quantify, работают, инструментируя код для сбора статистики во время его работы. Это окажет неявное влияние на производительность, но будет относительным по всей системе.