CSharp - Melhoria no código para performance

CSharp - Melhoria no código para performance

Trago um exercício bastante simples que demonstra como escrever código de duas maneiras, ambas funcionam, mas com resultados de tempo de execução bem diferentes.


Este exercício está feito em CSharp mas poderia ser em qualquer outra linguagem.

Como exercício para demonstrar o problema, primeiro preenchemos um array com 100 000 000 de valores

sendo o primeiro 1; o segundo 2; ....

Depois a parte diferenciadora é ler o tamanho do array uma vez e armazenar esse valor, ou ler o tamanho em cada ciclo. Esta "optimização" não é grande coisa mas serve para ilustrar o problema, e alertar para algum esquecimento destas questões.

Na linha 25 temos esta operação a funcionar:



A performance depois de compilado é:
                                                                Elapsed time: 581,5329 ms


Agora lendo uma vez a dimensão do array:


A performance é:
                                                    Elapsed time: 460,1204 ms


São pequenas diferenças num código relativamente simples, para servir de exemplo.

Estou a usar um computador bastante fraco, com linux, e o Mono.
Para formatar o código no Visual Studio... usei o site:
https://codebeautify.org/csharpviewer?utm_content=cmp-true




Comentários

Mensagens populares deste blogue

Python - Automatização em ISPOL

Linha do Oeste - Breve visita

AMV – Aparelhos de Mudança de Via