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.

Anuncios

Autor: Israel Muñoz

Soy desarrollador de software, principalmente dedicado a desarrollo de aplicaciones web. Especializado en .NET full-stack, además de tecnologías front-end HTML, CSS y JavaScript. A ratos, profesor de materias de informática. Me gusta mucho todo lo que tiene que ver con las tecnologías nuevas para desarrollo web, y el diseño de sitios y aplicaciones.

Un comentario en “Optimizar la sentencia for”

Responder

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. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

w

Conectando a %s