Estas optimizaciones son fácilmente aplicables a código existente y en algunos casos aceleran notablemente la velocidad con que nuestros programas se ejecutan. Recuerden sin embargo lo siguiente: el código más rápido es aquel que no es llamado.
Usa listas de inicialización
Siempre usa listas de inicialización en constructores, por ejemplo usa:
|
en lugar de
|
Sin listas de inicialización, el contructor por defecto es llamado detrás de la escena en lugar del contructor de la clase.
Optimización para ciclos
Cuando sea posible, usa ciclos que vayan contando hacia abajo, por ejemplo usa:
|
en lugar de:
|
Es más rápido cuando se compara contra cero que contra cualquier otro valor. Nota también que:
|
es más rápido que:
|
Usa 'int'
Siempre usa el tipo de dato int en lugar de char o short cuando sea posible. int es siempre el tipo de dato nativo de la máquina
Haz las funciones locales estáticas (static)
Siempre declara las funciones locales como estáticas, usa static, por ejemplo:
|
Esto quiere decir que la función no será visible a funciones fuera del archivo .cpp donde se usa, y algunos compiladores C++ pueden tomar ventaja de esta optimización.
Optimiza las sentencias if
Factor del salto. Por ejemplo usa:
|
en lugar de:
|
Usa tu buen juicio para ver si la operación undo es más rápida!
Optimiza las sentencias switch
Pon los casos más comunes al inicio
Evita las operaciones excesivas
La suma es más rápida que la multiplicación y la multiplicación es más rápida que la división.
Inicializar en la declaración
Cuando sea posible inicializa las variables cuando las declaras, por ejemplo:
|
es más rápido que:
|
Declarar y luego inicializar invoca el contructor por defecto y luego hacer una signación son 2 operaciones. Inicializar en la declaración invoca sólo el contructor copia.
Paso por referencia
Siempre trata de pasar clases por referencia en lugar de hacerlo por valor, por ejemplo usa:
|
en lugar de:
|
Uso de operadores
Usa:
|
en lugar de:
|
La primera versión es mejor que la segunda porque se evita la necesidad de crear un objeto temporal.
Has las funciones pequeñas de tipo inline
Las funciones pequeñas deberían ser declaradas inline para mejorar el rendimiento, por ejemplo:
|
Cuando se trata de funciones largas, no se debe declararlas "inline"
Usa clases sin nombre
Cuando sea posible usa clases sin nombre, por ejemplo:
|
es más rápido que:
|
porque en el primer caso, el parámetro y la clase comparten memoria
FUENTE: www.programacionenc.net
No hay comentarios:
Publicar un comentario