aboutsummaryrefslogtreecommitdiff
path: root/tests/bench/transactional/Runner.scala
blob: 48da7ff12aad68c945c034dc981b25ae132f781e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package transactional
import System.nanoTime

class Runner(name: String, bench: Benchmark, expected: Int) {

  val numIters = 10000000
  val numTests = 5

  def run(): Unit = {
    val start = nanoTime
    var cnt = 0
    var i = 0
    while (i < numIters) {
      cnt += bench.run()
      i += 1
    }
    assert(cnt == expected * numIters)
    val duration = nanoTime - start
    println(s"$name in ${duration / 1000000}ms")
  }

  def main(args: Array[String]) =
    for (i <- 0 until numTests)
      run()
}