Medir Rendimiento con JHM

Índice

La instalación de la JVM lleva asociada varias herramientas. Una de ellas, JMH, sirve para analizar el rendimiento de la trozos de código.

Como es para la JVM, puede usarse también con Scala. Para este fin disponemos de un plugin de sbt para lanzar los tests, sbt-jmh.

Lanzar desde sbt

Podemos lanzar desde una sesión se sbt o desde la shell sin necesidad de lanzar la sesión (aunque en este caso los test tardarán más claro):

  # Desde fuera de la sesión de sbt
$  sbt "jmh:run -i 2 -wi 2 -f 2 bench.BBoxCalculator"

# Desde la sesión de sbt
 sbt> jmh:run -i 2 -wi 2 -f 2 bench.BBoxCalculator

Si no especificamos el paquete (bench) y clase a probar (BBoxCalculator) se lanzan todos los test. No es recomendable, son tests extremadamente largos y que prueban millones de veces limitando las optimizaciones de la JVM.

Parámetros

  • -f
  • -i
  • -wi

Características de JMH

  • Limitación de optimizaciones de la JVM

Enlaces