Benchmarking in Oracle JDK 8 per test delle prestazioni
-
21-12-2019 - |
Domanda
Di solito quando voglio testare le prestazioni che sto usando la funzione System.nanotime () prima di eseguire il codice e dopo e poi sto facendo una sottrazione.Recentemente ho notato che le persone utilizzano
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@BenchmarkMode(Mode.AverageTime)
.
quale fa parte di jmh in OpenJDK. Utilizziamo Oracle JDK.Mi chiedo se c'è uno strumento simile o se c'è un altro modo per costruire, correre e analizzare i benchmark nano / micro / milli / macro anziché scrivere il sistema. Annotime.
Soluzione
Dal sito Web JMH:
.JMH è un'imbracatura Java per costruire, correre e analizzare i benchmark Nano / Micro / Milli / macro scritti in Java e in altre lingue di destinazione il JVM.
Quindi JMH dovrebbe funzionare indipendentemente dal fatto che tu abbia installato OpenJDK o Oracle's JDK.OpenJDK e Oracle's JDK sono entrambi un'implementazione di una lingua che mira a colpire il JVM, quindi non vedo un problema.
Proprio come una nota - Solo perché JMH è mantenuto come parte di OpenJDK non significa che sia pensato esclusivamente per OpenJDK.
Altri suggerimenti
Utilizzare JMH per i test delle prestazioni includono Dipendente a Maven come sotto
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-core</artifactId>
<version>1.11.2</version>
</dependency>
.
L'esempio può essere trovato in http://psy-lob-saw.blGogspot.in/2013/05/USING-JMH-TO-Benchmark-mulToThreaded.html