Profiling
Como medir onde o tempo e a memória são gastos antes de otimizar.
Profiling é medir onde um programa gasta tempo e memória, função por função, enquanto ele roda. O resultado aponta o trecho que de fato pesa.
Otimizar sem medir costuma melhorar o trecho errado. Um profiler mostra em minutos o gargalo que a intuição levaria dias para achar.
- O profiler por amostragem olha a pilha de chamadas várias vezes por segundo.
- O tempo próprio de uma função e o acumulado contam histórias diferentes.
- Gráficos de chama mostram o caminho até o gargalo.
- Todo profiler pesa um pouco no programa medido.
- Toda linguagem tem um profiler pronto, e vale conhecê-lo antes de precisar.