Optimizar la sentencia for

Algo que encontré una vez en Internet hace poco (no recuerdo bien en dónde) que me llamó mucho la atención es cómo podemos optimizar una sentencia for.

List<string> lista = new List<string>();
lista = LlenarLista(); // Llenar la lista
for (int i = 0, j = lista.Count; i < j; i++)
{
    // ...
}

La declaración de for se divide en tres partes: la inicialización del contador, la comparación y el incremento. En C# podemos declarar distintas variables en la inicialización, no únicamente al contador i. Count es una propiedad que calcula el total de registros en una colección de datos. Como ya vimos, las propiedades pueden contener toda una función. No sabemos qué cálculos haga Count, y el invocarla en cada vuelta que da for es un desperdicio de recursos, por lo cual, la llamamos solamente una ocasión, asignándola a j y usando ésta para la comparación del contador.

Como declaramos i y j dentro del ciclo, ambas serán borradas de memoria al cerrar la función.

No evitaremos el calentamiento global con esto, pero el más pequeño ahorro de recursos en nuestras aplicaciones siempre es ganancia.

Un comentario sobre “Optimizar la sentencia for

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s