Entrar
¿Nuevo usuario? Inscribirme
DesarrolloJava · Desarrollo de Software en Java/J++/J#
? ¿Ya estás suscrito? Entra a Yahoo!

Consejos

¿Sabías que...?
Podés añadir enlaces a sitios relacionados de tu grupo.

Mensajes

  Mensajes Ayuda
Avanzado
Cast & Performance   Lista de mensajes  
Responder | Reenviar Mensaje #19606 de 25882 |
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




Sáb, 3 de Mar, 2007 8:37 am

malvenido082
Sin conexión Sin conexión
Enviar correo Enviar correo

Reenviar Mensaje #19606 de 25882 |
Desplegar mensajes Autor Ordenar por fecha

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...
malvenido082
Sin conexión Enviar correo
3 de Mar, 2007
8:38 am

Perdón, ¿podés citar fuentes para afirmar que castear afecta la performance? Hasta donde yo sabía, el bytecode es no tipado, no existe el casteo en tiempo...
Gunther Schneider
hiween
Sin conexión Enviar correo
5 de Mar, 2007
1:13 am

... Yep, yo tambien quiero leer la fuente. ... Pues no se si sea o no tipado, pero si se necesita especificar el tipo de objeto al que se esta haciendo...
Pedro Arana
magus_zork
Sin conexión Enviar correo
5 de Mar, 2007
2:32 pm

En realidad nunca se "cambia" el tipo del objeto. Un objeto tiene X tipos y simpelmente se valida que el tipo de la referencia con la cual quiere apuntarse al...
Claudio Fernandez
val_felagund
Sin conexión Enviar correo
7 de Mar, 2007
2:54 pm

No solo la primera, sino que las dos. Interpreté el resultado exactamente al revés (mucho tiempo para escribir el programa... poco tiempo para mirar los...
Martin
martin_0z0
Sin conexión Enviar correo
9 de Mar, 2007
10:26 pm

tengo mi aplciacion que funciona ok. pero al arrancar tomcat tengo la siguiente excepcion que no me perjudica pero me molesta que aparezca: alguien sabe...
Ariel Grinkraut
glamseru
Sin conexión Enviar correo
9 de Mar, 2007
11:36 pm

tengo mi aplciacion que funciona ok. pero al arrancar tomcat tengo la siguiente excepcion que no me perjudica pero me molesta que aparezca: alguien sabe...
Ariel Grinkraut
glamseru
Sin conexión Enviar correo
13 de Mar, 2007
2:50 pm

deja vú ... deja vú On 3/8/07, Ariel Grinkraut < glamseru@... > wrote: tengo mi aplciacion que funciona ok. pero al arrancar tomcat tengo la...
Claudio Fernandez
val_felagund
Sin conexión Enviar correo
13 de Mar, 2007
3:20 pm

tengo mi aplciacion que funciona ok. pero al arrancar tomcat tengo la siguiente excepcion que no me perjudica pero me molesta que aparezca: alguien sabe...
Ariel Grinkraut
glamseru
Sin conexión Enviar correo
13 de Mar, 2007
2:59 pm

Hola gente! Gracias, Martin, por escribir el programa.... Pero lo que deberiamos investigar es B b = (B) arr[i % 10]; donde arr[k] es segun el compilador del...
Angel "Java" Lopez
ajlopez2000
Sin conexión Enviar correo
10 de Mar, 2007
11:21 am

WTF?? Notable mejora de performance? Me estas diciendo que el costo de crear una nueva referencia y apuntarla es notorio en la performance de una aplicación?...
Claudio Fernandez
val_felagund
Sin conexión Enviar correo
5 de Mar, 2007
1:16 am

En "general" no estoy de acuerdo. El cast entre objetos no tiene costo, se comprueba estáticamente en tiempo de compilación y no afecta en tiempo de...
Pablo Lillia
pablofer72
Sin conexión Enviar correo
7 de Mar, 2007
2:58 pm

Hola gente! No se si es mucho costo, pero no resuelve todo en tiempo de compilacion. Luego tambien revisa en ejecucion, si el cast es correcto, si el objeto...
Angel "Java" Lopez
ajlopez2000
Sin conexión Enviar correo
9 de Mar, 2007
9:24 am

Queridos colegas. Puedo ver la preocupación por la optimización a tan bajo nivel, y sepan disculpar mi intromisión. En este mismo foro, cuando plantie la...
Dario Javier Nutz
dario_jn
Sin conexión Enviar correo
13 de Mar, 2007
2:55 pm

Me tomé la libertad de hacer un programita para verificar lo que dice ("escribe") Angel... ... Corri el programa varias veces: 1) with cast: 1718 ms - without...
Martin
martin_0z0
Sin conexión Enviar correo
9 de Mar, 2007
4:37 pm

... Según tus datos, tu primera conclusión es incorrecta. Por ejemplo, la primera salida de tu comando dice que con cast se demora 1718ms, mientras que sin...
Oscar Gosdinski
ogosdinski
Sin conexión Enviar correo
9 de Mar, 2007
6:48 pm

Yo los correria en situaciones identicas, me refiero a que se estan ejecutando secuencialmente (primero uno despues el otro) y posiblemente si se cambia el...
Ignacio Poletti
polesoft
Sin conexión Enviar correo
9 de Mar, 2007
9:01 pm

2 cosas 2. Primero, me parece o los resultados te dieron al reves? =|... Segundo, para que una prueba de performance sea verdaderamente efectiva (y más a...
Claudio Fernandez
val_felagund
Sin conexión Enviar correo
13 de Mar, 2007
2:57 pm

Hola Dario! Ciertamente, es mejor optimizar cuando es necesario, no antes... :-) Es decir, "no hay que cruzar el puente, antes de llegar al puente". Es preciso...
Angel "Java" Lopez
ajlopez2000
Sin conexión Enviar correo
13 de Mar, 2007
3:10 pm

Gracias por responder. "Angel \"Java\" Lopez" <ajlopez@...> escribió: Hola Dario! Ciertamente, es mejor optimizar cuando es necesario, no antes......
Dario Javier Nutz
dario_jn
Sin conexión Enviar correo
17 de Mar, 2007
2:07 am
Avanzado

Copyright © 2009 Yahoo! de Argentina S.R.L. Todos los derechos reservados.
Política de privacidad - Condiciones del Servicio - Reglas de la comunidad de Yahoo! - Ayuda