Capítulo 6. La evaluación comparativa es difícil: JMH te ayuda
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Michael Hambre
La evaluación comparativa en la JVM, especialmente la microevaluación comparativa, es difícil. No basta con lanzar una medición de nanosegundos alrededor de una llamada o bucle y ya está. Tienes que tener en cuenta el calentamiento, la compilación HotSpot, las optimizaciones de código como el inlining y la eliminación de código muerto, el multihilo, la coherencia de la medición y mucho más.
Afortunadamente, Aleksey Shipilëv, autor de muchas grandes herramientas JVM de , aportó JMH, el arnés de microcomprobación de Java, al OpenJDK. Consiste en una pequeña biblioteca y un complemento del sistema de compilación. La biblioteca proporciona anotaciones y utilidades para declarar tus puntos de referencia como clases y métodos Java anotados, incluida una clase BlackHole para consumir valores generados y evitar la eliminación de código. La biblioteca también ofrece un correcto manejo del estado en presencia de multihilo.
El complemento del sistema de compilación genera un JAR con el código de infraestructura pertinente para ejecutar y medir correctamente las pruebas. Esto incluye fases de calentamiento específicas, multihilo adecuado, ejecución de varias bifurcaciones y cálculo de la media entre ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access