Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Puede optimizar el rendimiento de un bucle utilizando los tipos de datos más eficaces. Para un bucle corto que no se ejecuta muchas veces la diferencia podría ser insignificante. Sin embargo, si el bucle se ejecuta un gran número de veces, el ahorro en el rendimiento puede ser considerable.
Integer y UInteger son los tipos más eficaces en las plataformas actuales. Short, Long, UShort y ULong no son tan eficaces y Decimal es considerablemente más lento. Para obtener más información, vea Tipos de datos numéricos (Visual Basic).
Para optimizar el rendimiento de un bucle For...Next
Utilice el tipo de datos más eficaz para la variable de control. El ejemplo siguiente muestra algunas posibles variaciones en un bucle. Los cronometrajes absolutos dependen de la plataforma, pero las comparaciones en tiempo de ejecución siguen siendo 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 muchSlowerEn el primer caso, la ejecución tarda un poco menos que en el segundo caso. Sin embargo, Integer solo puede trabajar con valores de hasta 2.147.483.647, mientras que UInteger solo puede hacerlo con valores de hasta 4.294.967.295. En el segundo y tercer caso se puede trabajar con valores más grandes, porque tanto Long como Decimal aceptan un rango mayor de enteros, pero se ejecutan más despacio. Es posible que tenga que tomar una decisión de diseño entre velocidad y capacidad de los tipos de datos que utiliza.
Vea también
Tareas
Cómo: Transferir el control fuera de una estructura de control (Visual Basic)
Cómo: Ejecutar varias instrucciones de forma repetida (Visual Basic)
Cómo: Pasar a la siguiente iteración de un bucle (Visual Basic)
Referencia
Instrucción For...Next (Visual Basic)
Conceptos
Estructuras de bucles (Visual Basic)