diff options
Diffstat (limited to 'benchmark')
| -rw-r--r-- | benchmark/src/main/scala/firrtl/benchmark/hot/PassBenchmark.scala | 32 | ||||
| -rw-r--r-- | benchmark/src/main/scala/firrtl/benchmark/hot/ResolveKindsBenchmark.scala | 23 |
2 files changed, 32 insertions, 23 deletions
diff --git a/benchmark/src/main/scala/firrtl/benchmark/hot/PassBenchmark.scala b/benchmark/src/main/scala/firrtl/benchmark/hot/PassBenchmark.scala new file mode 100644 index 00000000..e7d907cd --- /dev/null +++ b/benchmark/src/main/scala/firrtl/benchmark/hot/PassBenchmark.scala @@ -0,0 +1,32 @@ +// See LICENSE for license details. + +package firrtl +package benchmark +package hot + +import firrtl.passes._ +import firrtl.stage.TransformManager + +import firrtl.benchmark.util._ + +abstract class PassBenchmark(passFactory: () => Pass) extends App { + val inputFile = args(0) + val warmup = args(1).toInt + val runs = args(2).toInt + + val input = filenameToCircuit(inputFile) + val inputState = CircuitState(input, ChirrtlForm) + + val manager = new TransformManager(passFactory().prerequisites) + val preState = manager.execute(inputState) + + hot.util.benchmark(warmup, runs)(passFactory().run(preState.circuit)) +} + +object ResolveKindsBenchmark extends PassBenchmark(() => ResolveKinds) + +object CheckHighFormBenchmark extends PassBenchmark(() => CheckHighForm) + +object CheckWidthsBenchmark extends PassBenchmark(() => CheckWidths) + +object InferBinaryPointsBenchmark extends PassBenchmark(() => new InferBinaryPoints) diff --git a/benchmark/src/main/scala/firrtl/benchmark/hot/ResolveKindsBenchmark.scala b/benchmark/src/main/scala/firrtl/benchmark/hot/ResolveKindsBenchmark.scala deleted file mode 100644 index 61e9c1a6..00000000 --- a/benchmark/src/main/scala/firrtl/benchmark/hot/ResolveKindsBenchmark.scala +++ /dev/null @@ -1,23 +0,0 @@ - -package firrtl -package benchmark -package hot - -import passes.ResolveKinds -import stage.TransformManager - -import firrtl.benchmark.util._ - -object ResolveKindsBenchmark extends App { - val inputFile = args(0) - val warmup = args(1).toInt - val runs = args(2).toInt - - val input = filenameToCircuit(inputFile) - val state = CircuitState(input, ChirrtlForm) - val prereqs = ResolveKinds.prerequisites - val manager = new TransformManager(prereqs) - val preState = manager.execute(state) - - hot.util.benchmark(warmup, runs)(ResolveKinds.run(preState.circuit)) -} |
