DevGuideTK

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.