quarta-feira, 15 de novembro de 2017

Bechmark - Cuidados ao otimizar o seu código

Precisa fazer uma otimização no seu código? Veja os pontos que é necessária atenção:

1) Tenha métrica antes de qualquer alteração (Baseline).

Isso serve para saber se houve ganho e o quanto. Também para saber se o ganho vem em contrapartida de outro recurso (ganha tempo de processamento, mas aumenta memória)

2) Tenha um ambiente controlado para a execução dos testes
2.1) Pense em executar o processo com exclusividade dos recursos (Se for algum teste de rede, tenha a rede disponível)
2.2) Pense no warmup da aplicação ou opte pelo coldstart. Saiba que seu código pode executar mais rápido uma segunda vez
2.3) Execute o processo a ser otimizado várias vezes, já que alguma das vezes seu ambiente pode estar suscetível a alguma variável que mudar o resultado.
2.4) Tenha as métricas bem definidas, colete bem os dados e analise o antes e o depois Para todos esses itens, conheça o BechmarkDotNet para lhe ajudar.

Veja como começar facilmente no Getting Started.

Várias opções de configuração estão disponíveis facilmente
  • Comparar o desempenho de diferentes frameworks do .Net. 
  • Definir formas de exportar o resultado, inclusive com gráficos
  • Definir o teste baseline
  • Definir variação de parâmetros
  • Configurar diagnósticos como MemoryDiagnoser e InliningDiagnoser
Para saber mais veja o Overview.