¿Cómo analizo qué método consumió más tiempo en java, eclipse, junit? [duplicar]

Esta pregunta ya tiene respuestas aquí :
Respuesta 1

Utiliza jvisualvm. Actualmente se incluye con el JDK, pero también existe una versión independiente, que está más actualizada. Por lo general, cuando lo inicia, puede elegir a qué proceso de Java en ejecución conectarse (esta podría ser nuestra prueba de unidad en ejecución). Puede especificar qué filtros de nombre de clase calificados necesita rastrear. Normalmente, se producirá cierta instrumentación de clase, y podrá realizar un seguimiento del tiempo de procesamiento asignado a cada método (tiempo acumulado también).

Respuesta: 2

Llámame anticuado, pero este es el enfoque más simple en mi opinión:

long a, b, c, d;
a = System.currentTimeMillis();
// some code 1
b = System.currentTimeMillis();
// some code 2
c = System.currentTimeMillis();
// some code 3
d = System.currentTimeMillis();

System.out.println("Some code 1 took "+(b-a)+"mil to execute. ("+((b-a)/1000)+" seconds)");
System.out.println("Some code 2 took "+(c-b)+"mil to execute. ("+((c-b)/1000)+" seconds)");
System.out.println("Some code 3 took "+(d-c)+"mil to execute. ("+((d-c)/1000)+" seconds)");

Espero que esto ayude :)

Respuesta: 3

Puede echar un vistazo a Yourkit (software comercial), que puede controlar la memoria, la CPU y muchos más. Tiene una vista especial que muestra cuánto tiempo pasó en métodos (por ejemplo, puede ver que el 40% del tiempo de ejecución se pasó en métodoxyz() ).

Respuesta: 4

El proceso de medir qué parte de una programación requiere la cantidad de tiempo de ejecución que se denomina "creación de perfiles".

Hay muchos complementos de creación de perfiles para eclipse. Uno se describe aquí .

Respuesta: 5

Ayer vi una pregunta preguntando por qué Math.pow (int, int) es tan lento, pero la pregunta estaba mal redactada y no mostró ningún esfuerzo de investigación, por lo que se cerró rápidamente. Hice una pequeña prueba y encontré ...

Mientras trato de crear una aplicación de Android Phonegap me sale el siguiente error: $ phonegap / lib / android / bin / create myapp opción no válida - 'e' Pruebe `jar --help 'para obtener más información que estoy usando ...

En mi programa JADE, un agente necesita enviar un mensaje ACL a otro agente. Para el agente que envía el mensaje (agent1), almacena una matriz de valores String [] que tiene que enviar. Sin embargo, para ...

Estoy tratando de implementar DFS con recursión usando el siguiente código, public static void dfs (int i, int [] [] mat, boolean [] visitada) {visitado [i] = verdadero; // Marcar nodo como "visitado" System.out ....