@@ -22,9 +22,12 @@ object Bench extends Driver:
22
22
override def doCompile (compiler : Compiler , fileNames : List [String ])(using Context ): Reporter =
23
23
times = new Array [Int ](numRuns)
24
24
var reporter : Reporter = emptyReporter
25
+ val stats = ctx.settings.YdetailedStats .value
25
26
for i <- 0 until numRuns do
26
27
val start = System .nanoTime()
27
- reporter = super .doCompile(compiler, fileNames)
28
+ reporter = inContext(ctx.fresh.setSetting(ctx.settings.YdetailedStats , stats && i == numRuns - 1 )) {
29
+ super .doCompile(compiler, fileNames)
30
+ }
28
31
times(i) = ((System .nanoTime - start) / 1000000 ).toInt
29
32
println(s " time elapsed: ${times(i)}ms " )
30
33
if ctx.settings.Xprompt .value then
@@ -33,11 +36,10 @@ object Bench extends Driver:
33
36
println()
34
37
reporter
35
38
36
- def extractNumArg (args : Array [String ], name : String , default : Int = 1 ): (Int , Array [String ]) = {
37
- val pos = args indexOf name
38
- if (pos < 0 ) (default, args)
39
- else (args(pos + 1 ).toInt, (args take pos) ++ (args drop (pos + 2 )))
40
- }
39
+ def extractNumArg (args : Array [String ], name : String , default : Int = 1 ): (Int , Array [String ]) =
40
+ val pos = args.indexOf(name)
41
+ if pos < 0 then (default, args)
42
+ else (args(pos + 1 ).toInt, args.take(pos) ++ args.drop(pos + 2 ))
41
43
42
44
def reportTimes () =
43
45
val best = times.sorted
0 commit comments