Almacenamiento muerto
En programación se conoce como almacenamiento muerto o dead store a la acción de asignarle un valor cualquiera a una variable local y no utilizarlo en ninguna instrucción subsecuente.[1] Este tipo de error de software es indeseable debido a que requiere tiempo de computación y accesos a memorias de forma innecesaria, lo que impacta en el rendimiento.
Existen técnicas de optimización en compiladores como por ejemplo la eliminación de código muerto que intentan encontrar y eliminar este tipo de prácticas del código fuente.[2]
Ejemplo
public int sum(int a, int b){
int c = a + b;
return a+b;
En este caso la variable c se asigna pero nunca se usa (este ejemplo también puede ser tomado como código redundante ya que se devuelve el mismo valor que tiene c).
Esta optimización puede llegar a brindar buenos resultados cuando el almacenamiento muerto se encuentra ubicado dentro de bucles ya que la optimización se lleva a cabo tantas veces como grande sea el índice del bucle.
function func(a, b) {
var x;
var i = 300;
while (i--) {
x = a + b; // no se usa
}
}
En este caso si se logra identificar el almacenamiento muerto y retirar se optimizaría 300 veces por cada llamada a la función.
Referencias
- ↑ «FindBugs Bug Descriptions». Consultado el 17 de enero de 2013. «Inglés».
- ↑ «HTML5, and Real World Site Performance: Seventh IE9 Platform Preview Available for Developers» (en inglés). Consultado el 17 de enero de 2013.