Quiero medir el tiempo de ejecución de subprocesos en Java. Ahora estoy monitoreando las horas de inicio y fin de los hilos, pero creo que no es tan preciso porque el hilo podría suspenderse durante su ejecución.¿Cómo medir el tiempo de ejecución del hilo de Java?
Respuesta
Esto no es trivial. Su mejor opción es usar un generador de perfiles que pueda acumular los ciclos reales de CPU utilizados.
Java MXBeans puede proporcionar tiempo de CPU para cada subproceso:
import java.lang.management.ManagementFactory;
import java.lang.management.ThreadMXBean;
long nanos = ManagementFactory.getThreadMXBean().getThreadCpuTime(Thread.currentThread().getId());
Tenga en cuenta que la disponibilidad de esta característica depende de la plataforma. Se recomienda comprobar el indicador 'isCurrentThreadCpuTimeSupported' antes de usar' getThreadCpuTime'. –
utilizar un soluciones de perfilado que soporta múltiples métricas. Los llamamos medidores (de métricas) en nuestro producto, que admiten estándares como el tiempo de CPU, el tiempo de bloqueo, el tiempo de espera e incluso medidores personalizados basados en indicadores clave de rendimiento. Supongo que también le gustaría ver qué está haciendo exactamente un hilo que, en ese caso, definitivamente debe considerar un producto en lugar de una solución ad hoc de fabricación casera.
- 1. Cómo medir el tiempo de ejecución de un pepino paso
- 2. ¿Medir el tiempo de ejecución de un código C++?
- 3. ¿Cómo medir el tiempo de ejecución del código en VBScript o JavaScript?
- 4. Cómo medir el rendimiento de un hilo administrado en .NET
- 5. ¿Cómo medir el rendimiento de una aplicación Java?
- 6. C ¿cómo medir el tiempo correctamente?
- 7. Cómo medir el rendimiento en el desarrollo de Java
- 8. ¿Código para medir el tiempo de ejecución EXACTA dentro del código en iPad o teléfono?
- 9. Formas rudimentarias de medir el tiempo de ejecución de un método
- 10. Método del hilo actual java
- 11. medir el tiempo de ejecución de las llamadas de línea de comando
- 12. cómo medir el tiempo de ejecución de funciones (automáticamente) en Python
- 13. Herramienta para medir el tiempo de renderizado
- 14. Cómo medir el tiempo de ejecución de los comandos de ensamblado x86 y x86-64 en los ciclos del procesador?
- 15. ¿cómo se puede medir el tiempo pasado en un cambio de contexto bajo la plataforma java
- 16. Tiempo de ejecución del programa
- 17. Herramientas para supervisar la ejecución del hilo java
- 18. Tiempo de ejecución de CPU en Java
- 19. Tiempo promedio de ejecución
- 20. Cómo medir el tiempo de visita de un usuario
- 21. La mejor manera de medir el tiempo de ejecución en las pruebas de regresión automática
- 22. ¿Cómo medir el tiempo de kernel interno en NVIDIA CUDA?
- 23. Código de ejecución en el hilo principal de otro hilo
- 24. Tiempo de ejecución en Ocaml
- 25. ¿Herramienta para estropear el tiempo del hilo?
- 26. matando un hilo en ejecución en java?
- 27. Obtener getrusage() para medir el tiempo del sistema en C
- 28. ¿Mi método para medir el tiempo de funcionamiento es defectuoso?
- 29. cómo obtener entrada del usuario en el tiempo de ejecución
- 30. ¿Cómo se prueba el tiempo de ejecución del código VBA?
+1 El JDK incluye un generador de perfiles, JVisualVM, que es lo primero que puedes probar. – Jesper