2016-08-24 4 views
1

JMHでIntellijのScalaプログラムのベンチマークを行う方法を理解できません。IntellijのJMHでベンチマークを行う方法は?

ここに私はこれまで何をやったかです:

はここ

// build.sbt 
name := "Project" 
version := "1.0" 
scalaVersion := "2.11.8" 
enablePlugins(JmhPlugin) 

// project/plugins.sbt 
logLevel := Level.Warn 
addSbtPlugin("pl.project13.scala" % "sbt-jmh" % "0.2.10") 

// src/main/scala/MyBenchmark.scala 
import org.openjdk.jmh.annotations.Benchmark 

class MyBenchmark { 

    @Benchmark 
    def test(): Unit = println("test") 

} 
ベンチマーククラスを作成し plugin's website

あるJMH SBT-プラグインを追加しました

Intellij Run Configuration

のIntelliJにSBT-タスクを作成した。しかし、タスクを実行した後、私は例外を取得:

Annotation generator had thrown the exception. 
java.lang.NullPointerException 
    at org.openjdk.jmh.generators.reflection.RFClassInfo.getPackageName(RFClassInfo.java:51) 
    at org.openjdk.jmh.generators.core.BenchmarkGenerator.validateBenchmark(BenchmarkGenerator.java:243) 
    at org.openjdk.jmh.generators.core.BenchmarkGenerator.generate(BenchmarkGenerator.java:90) 
    .... 

私が間違っているのは何を?

答えて

1

ベンチマーククラスにパッケージ名を追加してください。

JMHがパッケージ名について不満を表明しているため、 org.openjdk.jmh.generators.reflection.RFClassInfo。 getPackageNameあなたのような行を追加する必要があります

(RFClassInfo.java:51):

package your.path; 
関連する問題