Como usar de Java 12 Microbenchmark Suite?

Jacob G.:

De acordo com a PEC 230: Microbenchmark Suíte , existe um conjunto microbenchmark built-in de Java 12. A PEC explica que é basicamente JMH, mas sem a necessidade de depender explicitamente dele usando Maven / Gradle. No entanto, ele não especifica como ir sobre como acessar as classes / anotações que pertencem ao conjunto de realizar um benchmark.

Minhas perguntas são:

  • Existe um módulo Java específico que eu preciso para exigir em meu module-info.javapoder usar esta suite?
  • O pacote (s) são as classes / anotações de esta suite localizada em?
  • Existem grandes diferenças entre esta suite e JMH?
Jorn Vernee:

Sua interpretação é incorreta. O PEC diz:

Adicionar um conjunto básico de microbenchmarks ao código-fonte do JDK , e torná-lo fácil para os desenvolvedores para executar microbenchmarks existentes e criar novos.

ou seja, isso não é necessariamente algo que o torna em uma distribuição JDK, apenas algo que é adicionado ao repositório de código fonte para torná-lo mais fácil de executar benchmarks no código JDK. Embora, para ser justo, o fato de que ele é listado como um dos JDK 12 'características' parece um pouco enganador.

O benchmark pode ser executado usando o sistema de compilação OpenJDK. Depois de ter clonado o código fonte OpenJDK de http://hg.openjdk.java.net/jdk/jdk/(ou outro repositório que inclui o JEP), você pode executar benchmarks por exemplo, usando:

make test TEST="micro:java.lang.reflect"

Benchmarks estão localizados no \test\micro\diretório. Veja também a documentação: http://hg.openjdk.java.net/jdk/jdk/raw-file/ddfb658c8ce3/doc/testing.html#microbenchmarks

Além disso, este requer que você especifique JMH e é dependências ao gerar uma configuração de compilação:

bash configure --with-jmh="/path/to/jmh/jars"

Frascos necessários são: commons-MATH3 , jmh-core , jmh-gerador de annprocess e Jopt-simples .

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=167690&siteId=1
Recomendado
Clasificación