Como: Melhore o desempenho de um loop

Você pode otimizar o desempenho de um loop, usando os tipos de dados mais eficientes.Para um loop curto que não é executado várias vezes a diferença pode ser irrisória.No entanto, se o loop é executado um grande número de vezes, a economia de desempenho pode ser considerável.

Integer e UInteger são os tipos mais eficientes nas plataformas atuais.Short, Long, UShort e ULong não são tão eficientes, e Decimal é consideravelmente mais lento.Para obter mais informações, consulte Tipos de Dados Numéricos.

Para otimizar o desempenho de um loop For...Next

  • Use o tipo de dados mais eficiente para a variável de controle.O exemplo a seguir mostra algumas variações possíveis em um loop.Os intervalos absolutos de tempo são dependentes da plataforma, mas as comparações de tempo de execução ainda são válidas.

    For fastest As Integer = 0 to 1000000
        ' Insert statements to execute for each value of fastest.
    Next fastest
    For notAsFast As Long = 0 to 1000000
        ' Insert statements to execute for each value of notAsFast.
    Next notAsFast
    For muchSlower As Decimal = 0 to 1000000
        ' Insert statements to execute for each value of muchSlower.
    Next muchSlower
    

    O primeiro caso leva um pouco menos de tempo para executar que a segunda ocorrência.No entanto, Integer pode alça valores somente até 2.147.483.647 e UInteger somente até a 4.294.967.295. Os casos de segundo e terceiro podem lidar com valores maiores, porque ambos os Long e Decimal aceitar um número maior de inteiros, mas eles são executados mais lentamente. Talvez seja necessário tomar uma decisão de design entre velocidade e a capacidade dos tipos de dados que você usa.

Consulte também

Tarefas

Como: transferência controle fora de uma estrutura de controle

Como: Executar várias instruções repetidamente

Como: Executar várias instruções para cada elemento em uma coleção ou matriz

Como: Pular para a próxima iteração de um loop e Continuar declaração (Visual Basic).

Conceitos

Estruturas de loop

Referência

For... Next demonstrativo (Visual Basic)

Outros recursos

Fluxo de controle no Visual Basic