eclipse - settitle - java title
¿De qué se trata el perfilado y cómo puedo perfilar mi programa Java? (4)
He escuchado mucho acerca de los perfiles. ¿Qué es todo esto? Por lo que yo entiendo, este es algún tipo de medición del rendimiento, pero alguien puede elaborar esto más claramente para que un novato pueda captar la idea. Además, uso Eclipse IDE para mi programa Java. ¿Puedo perfilar mi programa usando Eclipse IDE? ¿Cuáles son los factores que deben considerarse al elaborar perfiles (me refiero a las mejores prácticas)?
De la poca investigación que he hecho sobre el perfil de Java con Eclipse, puedes usar JProfiler . En realidad, nunca fui mucho más allá de instalarlo y tener una nariz rápida.
La creación de perfiles básicamente le muestra la frecuencia con que se ejecuta una determinada línea de código y cuánto tiempo se pasó en ella (en comparación con otras líneas). Esto hace que sea fácil identificar la ubicación donde su código pasa la mayor parte del tiempo.
También hace posible encontrar lugares donde el código pasa mucho tiempo sin hacer nada: este es el signo típico de una falta de caché y aquí es donde debería activarse.
Generalmente, los programas pasan mucho tiempo (digamos, 90%) en un solo lugar. Lamentablemente, encontrar este lugar sin perfiles no es posible. La conjetura a menudo sale mal. Por lo tanto, si optimiza en el lugar equivocado, esto no ayudará en absoluto: si el tiempo total dedicado a esa línea es solo del 10%, su código solo será un 10% más rápido (¡en el mejor de los casos!). Sin embargo, si logra eliminar la llamada que toma el 90% del tiempo, su programa será diez veces más rápido .
Esto, en pocas palabras, es perfilar.
Eclipse ofrece capacidades de perfilado integradas y me han dicho que son bastante buenas, pero como no las conozco, que alguien más responda.
Konrad tiene razón, pero los perfiles cubren también otros aspectos de tu programa, como el consumo de memoria.
YourKit es un excelente generador de perfiles para Java y se integrará muy bien con Eclipse. Definitivamente vale la pena el dinero y generalmente se cree que es el mejor perfilador de Java disponible.