2009-09-09 20 views
6

Necesito crear un perfil de mi código JAVA SRC para un problema en particular en el que estoy trabajando actualmente. He estado usando la versión de prueba de una herramienta llamada JProfiler.perfil código de Java

Me gustaría aprender sobre algunas buenas herramientas de código abierto de la comunidad, si están disponibles; Aparte de eso, también estoy deseando conocer algunas técnicas estándar ampliamente adoptadas (o que deben conocerse).

Para la optimización del código C, uso VALGRIND; por favor también hágamelo saber de buenas herramientas disponibles en Windows.

+2

¡Haga al menos una investigación mínima! la respuesta de @afk podría haber venido directamente de tu experiencia de google. –

Respuesta

7

Java 1.6 viene con un generador de perfiles rudimentaria: jvisualvm. Está en el mismo directorio que java y javac. .

+0

La herramienta visualvm solo viene con el JDK (no el JRE) y se agregó en la actualización 07 de Jave 6; no estaba presente en la versión original de Java 6. –

+0

Creo que VisualVM solo está disponible desde la actualización 7 (o era 10). Pero aparte de eso, tiene una muy buena relación facilidad de uso/utilidad. Además: está disponible también como una aplicación independiente: https://visualvm.dev.java.net/ –

3

Netbeans tiene un perfilador de Java bastante decente construido en

+0

El perfil de NetBeans está realmente relacionado con jvisualvm (la herramienta sugerida por SingleShot). Sin embargo, no estoy seguro de cuál es un derivado del otro. –

+0

El componente de creación de perfiles de visualvm se desarrolló originalmente como parte de netbeans. –

1

Aunque no es Open Source, personalmente me gusta mucho YourKit - que tiene un gran visualización y es muy fácil de usar.

1

La herramienta "jvisualvm" en el último JDK de Java 6 contiene un generador de perfiles (de Netbeans) y se puede conectar a un programa que ya se está ejecutando, por lo que es muy simple realizar investigaciones iniciales.

1

JRockit Mission Control, no es de código abierto, pero es un perfil comercial que puede usar para el desarrollo. Here puede leer las novedades en la última versión.

0

Supuestamente Eclipse TPTP puede conectar su generador de perfiles al proceso de Java pero nunca podría lograr que funcione bien. NetBeans Profiler es, de lejos, el más fácil de adjuntar a procesos externos.

Una vez que tenga sus datos de generación de perfiles o volcado de pila, mi elección de veneno es Eclipse Memory Analyzer para hacer el análisis.

+0

Sí, TPTP es terriblemente difícil de configurar y usar. También increíblemente lento. –

+0

Aunque tuve algunos problemas con la configuración, tuve éxito usando "Eclipse TPTP" para crear un perfil de código Java y encontré que su análisis era bastante útil. – sateesh

0

me gustó mucho JRat para el perfilado de Java: http://jrat.sourceforge.net/

de código abierto pérdida de memoria libre de C (y otro detector) que funciona en Windows: Duma (http://duma.sourceforge.net/). No es tan fácil de usar como Valgrind (necesita editar sus fuentes y no tiene la ingeniosa opción de "no informar esto"; aún no la he encontrado). Las opciones de Valgrind similares para Windows son todas comerciales (Purify de IBM parece el mejor pero la licencia es bastante costosa)

Hago la optimización de C en Windows usando las herramientas gcc, gcov Creo que es lo que se usa para crear perfiles (podría ser mal, no lo he usado por un tiempo)