Skip to content

Commit 87ca6d7

Browse files
author
Dragos Manolescu
committed
Interleaved warm-up and measurement phases for adapters.
1 parent 3b3dd84 commit 87ca6d7

File tree

2 files changed

+10
-9
lines changed

2 files changed

+10
-9
lines changed

src/main/scala/com/microWorkflow/jsonScalaPerftest/Category.scala

+5-1
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,14 @@ case class Category(directoryName: String, name: String) {
2525
sb.toString()
2626
}
2727

28-
def measure(adaptor: LibraryAdaptor, doMap: Boolean, iterations: Int): HashMap[String, Measurement] = {
28+
def measure(adaptor: LibraryAdaptor, doMap: Boolean, iterations: Int, warmUp: Int): HashMap[String, Measurement] = {
2929
datasets.foldLeft(new HashMap[String, Measurement])((m,d) => {
30+
print("Warming up... ")
31+
adaptor.measure(d, doMap, warmUp)
3032
adaptor.resetTimers()
33+
print(" Measuring...")
3134
adaptor.measure(d, doMap, iterations)
35+
println(" Completed")
3236
m + (d.name -> Measurement.takeMeasurement(adaptor.timerName))
3337
})
3438
}

src/main/scala/com/microWorkflow/jsonScalaPerftest/Experiment.scala

+5-8
Original file line numberDiff line numberDiff line change
@@ -29,27 +29,24 @@ case class Experiment(warmUpIterations: Int=5) {
2929
def run(iterations: Int, libraryAdaptors: Seq[LibraryAdaptor]): Array[(String, HashMap[String, Measurement])] = {
3030

3131
categories.flatMap(category => (libraryAdaptors.map {
32-
adaptor => (category.name -> category.measure(adaptor, false, iterations))
32+
adaptor => (category.name -> category.measure(adaptor, false, iterations, warmUpIterations))
3333
}))
3434
}
35-
println("Parsing warm up (%d iterations)...".format(warmUpIterations))
36-
run(warmUpIterations, allAdaptors.toSeq)
37-
println("Parsing measurement (%d iterations)...".format(iterations))
35+
36+
println("Parsing measurement (%d warmup, %d iterations)...".format(warmUpIterations, iterations))
3837
run(iterations, allAdaptors.toSeq)
3938
}
4039

4140
def measureMapping(iterations: Int): Array[(String, HashMap[String, Measurement])] = {
4241
def run(iterations: Int, libraryAdaptors: Seq[LibraryAdaptor]): Array[(String, HashMap[String, Measurement])] = {
4342

4443
categories.flatMap(category => (libraryAdaptors.map {
45-
adaptor => (category.name -> category.measure(adaptor, true, iterations))
44+
adaptor => (category.name -> category.measure(adaptor, true, iterations, warmUpIterations))
4645
}))
4746
}
4847

4948
val targetAdaptors = allAdaptors.filter(_.hasMap)
50-
println("Mapping warm up (%d iterations)...".format(warmUpIterations))
51-
run(warmUpIterations, targetAdaptors)
52-
println("Mapping measurement (%d iterations)...".format(iterations))
49+
println("Mapping measurement (%d warmup, %d iterations)...".format(warmUpIterations, iterations))
5350
run(iterations, targetAdaptors)
5451
}
5552

0 commit comments

Comments
 (0)