Trucos para optimizar código C++

Por el 13 de noviembre de 2006

en: Sin categoría

Ahí va una pequeña lista de consejos para optimizar código c++ que en algunos casos por tontos que parezcan pueden repercutir en la velocidad de procesamiento del código notablemente.

Recuerda que el código más rapido y más optimizado es aquel que no es ejecutado, con esto quiero decir que en muchas ocasiones consumimos recursos innecesarios por lo hábitos adquiridos con el tiempo.

Optimiza los bucles

Siempre que sea posible, realiza el bucle en negativo en vez de en positivo esto quiere decir de n a 0 y no de 0 a n.

Ejemplo:

for (i = n-1; i >= 0; –i)

en vez de

for (i = 0; i < n; ++i)

Tmabien fijate en el detalle de que ++i es más rápido que i++ siempre y cuando estos aparecen dentro de un bucle.

Usa ‘int’

Siempre que te sea posible utiloza el tipo int en vez de char o short.

La explicación es que un tipo int tiene un tamaño entre el de short y el de long, ambos inclusive, preferentemente el tamaño de un apuntador de memoria de la máquina, por lo que es el más comun para todas las máquinas.

Estos son los distintos tipos de los que dispones en c++:

1. Enteros
1. int
2. long int
3. long long
4. short
5. char
6. wchar_t
2. Flotantes
1. float (IEEE754 Simple)
2. double (IEEE754 Normal)
3. long double (IEEE754 Extendido)

Declara las funciones locales cómo estáticas

Intenta declarar todas tus funciones locales cómo funciones locales estáticas.

static void foo()

Esto hará que estas funciones no sean visibles desde fuera del archivo .cpp, ademas algunos compiladores tienen un funcionamiento m´ñas óptimo con ellas.

Optimiza tus declaraciones “IF”

Usa por ejemplo:

bar();
if (condition)
{
undoBar();
foo();
}

en vez de:

if (condition)
{
foo();
}
else
{
bar();
}

La explicación es muy sencilla el primer ejemplo es más sencillo, para el compilador es más pesado tener que realizar las dos condiciones if, else.

Optimiza los switch

Muy sencillo pon los casos más comunes en primer lugar de este modo nos ahorraremos unos cuantos saltos…

Optimiza las pequeñas operaciones

Sumar es más ligero que multiplicar y multiplicar es más ligero que dividir por lo tanto intenta evitar las multiplicaciones y divisiones siempre que sea posible.

Inicializa las variables en la declaración

Siempre que sea posible inicializa las variables al mismo tiempo que esta son declaradas.

Por ejemplo:

TMyClass myClass = data;

es más rapido que:

TMyClass myClass;
myClass = data;

Pasa las variables por referencias

Intenta pasar las clases por referencias en lugar de pasarlas cómo valores.

Por ejemplo:

void foo(TMyClass &myClass)

mejor que:

void foo(TMyClass myClass)

Cuidado al concatenar y sumar valores

Es mejor:

myClass += value;

que…

myClass = myClass + value;

Es mejor el primer ejemplo puesto que evita el crear un objeto adicional.

Enlaces Relacionados

6 cosas que probablemente no conozcas sobre PHP
PHP y MySql una estrecha relación
Las 10 mejores librerías
Howto encriptar passwords en la base de datos
El framework más popular de Ajax
Manual y ejemplos con Smarty
8 lenguajes de programación que deberías aprender
Generar documentos OpenOffice con PHP
Entrevista a Marten Mickos, CEO de MySql
Urls amigables
Fácil sistema de autentificación (login, password) PHP
Bases de datos y PHP

  • Entradas relacionadas:
  • No hay coincidencias

Dejar un comentario