Está en la página 1de 1

En programación, se conoce como código redundante a cualquier parte del código

fuente que tenga algún tipo de redundancia tales como recalcular un valor que ha
sido calculado previamente y todavía está disponible.1

Una instrucción NOP podría ser considerado como código redundante que ha sido
explícitamente insertado para rellenar el flujo de instrucciones o introducir un
retardo de tiempo, por ejemplo para crear un bucle de temporización para "perder el
tiempo". Los identificadores que se declaran, pero nunca se les hace referencia, se
denominan declaraciones redundantes.

Índice
1 Ejemplos
2 Eliminación
3 Véase también
4 Referencias
Ejemplos
int foo(int X) {
int Y = X*2;
return X*2;
}
En este ejemplo la instrucción int Y = X*2; puede ser eliminada para evitar
calcular el valor dos veces, o también se puede retornar el valor de la variable Y
(aunque particularmente este método consume más memoria).

Considerando:

#define min(A,B) ((A)<(B)?(A):(B))

int magnitud_mas_corta(int u1, int v1, int u2, int v2)


{
/* retorna la magnitud mas corta entre (u1,v1) y (u2,v2) */
return sqrt(min(u1*u1 + v1*v1, u2*u2 + v2*v2));
}
Como consecuencia de usar el preprocesador de C el compilador escribirá la forma
expandida:

int magnitud_mas_corta(int u1, int v1, int u2, int v2)


{
int temp;
if (u1*u1 + v1*v1 < u2*u2 + v2*v2)
temp = u1*u1 + v1*v1; /* Redundante */
else
temp = u2*u2 + v2*v2; /* Redundante */
return sqrt(temp);
}
Provocando un código totalmente redundante e ineficiente, sin embargo debido a que
los macros de máximo y mínimo son muy utilizados los compiladores modernos detectan
estas situaciones y corrigen el código generado.

Eliminación
Existen técnicas de optimización de software comúnmente llevadas a cabo por un
compilador optimizador para eliminar el código redundante del código fuente. La más
común es la eliminación de código muerto.

También podría gustarte