diff options
| author | Albert Magyar | 2020-05-26 13:59:29 -0700 |
|---|---|---|
| committer | Albert Magyar | 2020-06-03 13:49:20 -0700 |
| commit | 881124333e78e91581f91488e5f43fa08911d3b1 (patch) | |
| tree | 514d8b753a793293a4b0c147dbfa5d1715a1644c /benchmark/src/main | |
| parent | b4192bba22c1d95daf354e900886a6690bb55e09 (diff) | |
Generalize pattern of ResolveKindsBenchmark
* Extend PassBenchmark to benchmark a particular Pass
* Add license note to file
Diffstat (limited to 'benchmark/src/main')
| -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)) -} |
