Skip to content

Commit 358ea0e

Browse files
author
Antoine Brunner
committed
Add help message for bench-run
1 parent f9bbdcb commit 358ea0e

File tree

8 files changed

+25
-4
lines changed

8 files changed

+25
-4
lines changed
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

bench-run/src/main/scala/Main.scala

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,20 @@ import scala.io.Source
1111

1212
object Bench {
1313
def main(args: Array[String]): Unit = {
14+
if (args.contains("--help")) {
15+
printUsage()
16+
return
17+
}
18+
1419
val (intArgs, args1) = args.span(x => try { x.toInt; true } catch { case _: Throwable => false } )
1520

1621
val warmup = if (intArgs.length > 0) intArgs(0).toInt else 20
1722
val iterations = if (intArgs.length > 1) intArgs(1).toInt else 20
1823
val forks = if (intArgs.length > 2) intArgs(2).toInt else 1
1924

2025
if (args1.isEmpty) {
21-
println("You should specify which benchmarks to run.")
26+
println("Error: no benchmark was specified.")
27+
printUsage()
2228
return
2329
}
2430

@@ -36,16 +42,16 @@ object Bench {
3642
.resultFormat(ResultFormatType.CSV)
3743

3844
if (args1.length > 1 && args1(1) != "--") {
39-
for ((param, values) <- paramsFromFile(args1(1)))
45+
for ((param, values) <- paramsFromFile("inputs/" ++ args1(1)))
4046
builder = builder.param(param, values: _*)
4147
}
4248

4349
if (args1.length > 2) {
4450
builder = builder.result(args1(2))
4551
}
4652

47-
val runner = new Runner(builder.build) // full access to all JMH features, you can also provide a custom output Format here
48-
runner.run // actually run the benchmarks
53+
val runner = new Runner(builder.build)
54+
runner.run
4955
}
5056

5157
def paramsFromFile(file: String): Array[(String, Array[String])] = {
@@ -54,4 +60,19 @@ object Bench {
5460
(param, values split ',')
5561
}
5662
}
63+
64+
def printUsage(): Unit = {
65+
println()
66+
println("Usage:")
67+
println()
68+
println("dotty-bench-run/jmh:run [<warmup>] [<iterations>] [<forks>] <regexp> [<input>|--] [<output>]")
69+
println()
70+
println("warmup: warmup iterations. defaults to 20.")
71+
println("iterations: benchmark iterations. defaults to 20.")
72+
println("forks: number of forks. defaults to 1.")
73+
println("regexp: regular expression that selects which benchmarks to run.")
74+
println("input: input vector file. each line should have format \'<paramName>: <comma-separated-values>\'")
75+
println("output: output file for the results of benchmarks.")
76+
println()
77+
}
5778
}

0 commit comments

Comments
 (0)