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.

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top