首页 文章

scala基准测试[重复]

提问于
浏览
5

可能重复:如何在Java中编写正确的微基准测试?

假设我有两种算法,如何找出哪种算法具有更高的性能?

我的意思是我可以在数学上证明它,但如果我使用一些库,这可能会变得乏味 . 我没有学过如何在没有数学的情况下做正确的基准 .

1 回答

  • 6

    快速的方法是使用 testing.Benchmark :你只需写一些类似的东西

    object Bench extends testing.Benchmark {
      // initialize your data here
      def run() {
        // code to benchmark here
      }
    }
    

    您可以使用 scala Bench 5 1000000 (或直接从您的IDE编辑运行配置)运行,它可以为您提供5套1000000次重复 run() 方法的时间 . 您可以比较每个集合的时间并检查它是否一致(由于JVM预热,第一个集合通常较慢) .

    有关使用Caliper(Java微基准测试框架)的更严格方法,请参阅此博客文章:http://www.decodified.com/scala/2011/04/19/microbenchmarking-scala-code .

相关问题