Menu
Coddy logo textTech

Desempenho de Loops

Parte da seção Lógica & Fluxo do Journey de C# da Coddy. Lição 13 de 66.

Otimizar o desempenho de loops pode melhorar significativamente a velocidade da sua aplicação, especialmente com grandes conjuntos de dados.

Armazene o comprimento da coleção em uma variável antes do loop:

int[] numbers = { 1, 2, 3, 4, 5 };
int length = numbers.Length; // Armazene o length uma vez

for (int i = 0; i < length; i++) // Use o valor armazenado
{
    Console.WriteLine(numbers[i]);
}

Evite chamadas repetidas de métodos nas condições de loops, por exemplo:

for (int i = 0; i < GetCount(); i++)
{
    // Corpo do loop
}

O método GetCount() é chamado em cada iteração do loop. Isso significa que, se o loop for executado 1000 vezes, GetCount() também será executado 1000 vezes, porque a condição do loop é avaliada antes de cada iteração.

Veja como fazer isso corretamente:

int count = GetCount();
for (int i = 0; i < count; i++)
{
    // Corpo do loop
}

GetCount() é chamado apenas uma vez antes do início do loop, e seu valor é armazenado na variável count. Em seguida, o loop usa esse valor armazenado em todas as iterações, eliminando a necessidade de chamar repetidamente o método.

Essa abordagem pode fazer seu código ser executado mais rapidamente ao reduzir operações redundantes, especialmente quando o método chamado realiza cálculos complexos ou acesso a dados.

challenge icon

Desafio

Fácil

Crie um método chamado optimizedSum que:

  1. Receba um array de inteiros como parâmetro
  2. Calcule a soma de todos os elementos
  3. Implemente uma abordagem otimizada e uma não otimizada:
    • Não otimizada: chame array.Length em cada iteração do loop
    • Otimizada: armazene o comprimento em cache antes do loop
  4. Retorne o resultado da abordagem otimizada

Experimente você mesmo

public class OptimizedSum
{
    // Implemente o método optimizedSum
    public static int optimizedSum(int[] numbers)
    {
        // Escreva seu código aqui
        
    }
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica & Fluxo

Pratique por conta própria: Compilador de C# online