1
0
Files
Advent-of-Code/days/src/test/kotlin/Day16Benchmark.kt
T
2020-12-16 14:38:30 +01:00

40 lines
937 B
Kotlin

package be.vandewalleh.aoc.days
import be.vandewalleh.aoc.utils.input.createDay
import java.util.concurrent.TimeUnit
import org.openjdk.jmh.annotations.*
import org.openjdk.jmh.infra.Blackhole
import org.openjdk.jmh.runner.Runner
import org.openjdk.jmh.runner.options.Options
import org.openjdk.jmh.runner.options.OptionsBuilder
/*
Benchmark Mode Cnt Score Error Units
Day16Benchmark.part2 avgt 5 0.697 ± 0.026 ms/op
*/
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.MILLISECONDS)
@State(Scope.Benchmark)
@Warmup(iterations = 3)
@Measurement(iterations = 5)
open class Day16Benchmark {
private val day16 = createDay<Day16>()
@Benchmark
fun part2(blackhole: Blackhole) {
blackhole.consume(day16.part2())
}
}
fun main() {
val opt: Options = OptionsBuilder()
.include(Day16Benchmark::class.simpleName)
.forks(1)
.build()
Runner(opt).run()
}