Sin lugar a dudas la performance es un aspecto crítico en todo sistema
y muchas veces difícil de alcanzar.
Existen escenarios en donde el menor de los descuidos puede afectar de
manera importante el rendimiento nuestro sistema, tal es así que una
operación tan sencilla e infinitamente utilizada como es el `casteo'
usada de una u otra manera puede tener un impacto positivo o negativo
importante en el desempeño de nuestra aplicación.
Cast es el proceso de convertir o moldear un tipo de dato a otro, si
bien es un recurso muy utilizado por los programadores tiene un costo
asociado si se realiza en tiempo de ejecución.
Muchas de estas conversiones son eliminadas en tiempo de compilación
por el compilador, desde luego hay compiladores más inteligentes que
otros.
Si bien el costo asociado a una operación de conversión puede llegar a
ser pequeño comparado a los costos generados por problemas de
performance mayor, como puede ser un mal manejo de un caché, no quiere
decir que, este recurso mal utilizado pueda provocar un bajo
rendimiento, o planteado desde otro punto de vista, no quiere decir
que teniendo en cuenta algunas cosas, no podamos lograr un impacto
significativamente positivo en nuestras aplicaciones.
Basta con imaginar un escenario con miles de operaciones concurrentes
en donde evitar un mal uso del `casteo' implica una notable mejora en
la performance.
No hace falta imaginar millones de operaciones concurrentes basta con
pensar en una tabla lo suficientemente grande en donde el método que
devuelve el valor de cada celda este haciendo un mal uso del `casteo',
evidentemente esta tabla va a tener mucho menos desempeño que una
tabla que utilice de manera adecuada el recurso.
La información completa con ejemplos prácticos para mejorar el código
encuentra en el siguiente artículo.
http://jroller.com/page/javillion
http://jroller.com/page/javillion?entry=cast_performance