Açúcar sintático! O que seria esse termo?
Em ciência da computação, um açúcar sintático (do inglês Syntactic sugar) é uma sintaxe dentro da linguagem de programação que tem por finalidade tornar suas construções mais fáceis de serem lidas e expressas.
Fonte: https://en.wikipedia.org/wiki/Syntactic_sugar
Açúcar Sintático: Stopwatch.StartNew() é apenas uma forma abreviada de instanciar um Stopwatch e iniciar sua contagem. Os mesmos problemas de overhead de criação de instância e chamadas adicionais permanecem, o que pode introduzir imprecisões para medições de curta duração.
Fonte: tabnews.com.br
Achei útil sua publicação, pois o recurso de medir o tempo de subrotinas com resolução e precisão suficiente é extremamente crítico, principalmente quando buscamos otimizar determinada parte repetitiva do código, seja mantendo algumas variáveis/objetos em memória ou mesmo reescrevendo aquela parte. Algumas rotinas são tão rápidas que precisam ser executadas várias vezes para pelo menos alcançar o mínimo de resolução proporcionada pelo temporizador. Além de otimizar o algoritmo, deixamos à cargo do compilador tentar otimizar o executável por meio de parâmetros na linha de comando.
Fiquei curioso para saber qual o resultado desse código fonte que sugeriu:
var stopWatch = new Stopwatch();
stopWatch.Start(); // chamada do método que queremos medir
stopWatch.Stop();
var elapsed = stopWatch.ElapsedMilliseconds;
demonstrando a latência do recurso. Ideal que fosse 0, corrigida/compensada pelo próprio recurso.
Resolução, Precisão e Exatidão
Resolução, Precisão e Exatidão comumente aparecem em documentos técnicos e com certa frequência confundidos entre si. As sutilezas entre esses conceitos fundamentais da medição podem ser sanadas nas referências de Metrologia. Aqui é apresentada uma breve síntese:
Resolução: A resolução é a menor unidade de medida observável no instrumento. Ela representa a menor quantidade retornada por um temporizador, em unidades de segundos, milissegundos, microssegundos, por exemplo. Na mecânica, seria a finura do detalhe revelado pelo instrumento, sendo o menor incremento mensurável. Geralmente, deve ser 1/10 da tolerância do processo, enquanto a faixa de medição do instrumento deve corresponder ao valor a ser medido e sua precisão deve ser cerca de 1/3 da tolerância do processo. Em um termômetro digital com resolução de 1º C, por exemplo, a indicação do valor medido é realizada em incrementos de 1º C.
Precisão: A precisão de uma série de medições é a medida da concordância entre determinações repetidas. Geralmente, é quantificada como o desvio padrão de uma série de medidas. A precisão é frequentemente confundida com outros termos de medição, como exatidão, resolução e sensibilidade. Essa confusão surge da definição de precisão no dicionário como “a qualidade de ser preciso; exatidão, acuidade, etc.” Diz-se que a precisão é o grau de dispersão das medidas e essa dispersão é menor quanto menor for o nível de ruído impresso pelo processo ou instrumento de medida.
Exatidão: A exatidão de uma medida ou de uma série de medidas é a diferença entre os resultados da medição e o valor aceito como referência. Geralmente expressa-se como um desvio, percentual ou não, em relação a um valor conhecido com qualidade suficientemente melhor que as medidas em comparação a esse padrão estabelecido. Em várias aplicações, esse valor exato é desconhecido sendo substituído por um valor de qualidade superior.
Fonte: Adaptado de liohm.com