2008-11-11 14 views
5

He oído hablar mucho sobre la creación de 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 qué se trata el perfilado y cómo puedo perfilar mi programa Java?

Respuesta

6

La generación de perfiles básicamente muestra la frecuencia con la 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 su código pasa mucho tiempo sin hacer nada: este es el signo típico de cache miss y aquí es donde debería estar activo.

Normalmente, 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 recibirá diez veces más rápido.

Esto, en pocas palabras, es perfilar.

Eclipse ofrece capacidades de creación de perfiles integradas y me han dicho que son bastante buenas, pero como no las conozco, que alguien más las responda.

-1

Por lo poco de investigación que he hecho sobre el perfil de Java con Eclipse, puede usar JProfiler. En realidad, nunca fui mucho más allá de instalarlo y tener una nariz rápida.

0

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.

1

Konrad tiene razón, pero la creación de perfiles abarca también otros aspectos de su programa, como el consumo de memoria.

Cuestiones relacionadas