LocalExecutor

class LocalExecutor[V](val warmer: Warmer, val aggregator: Aggregator[V], val measurer: Measurer[V])(`evidence$1`: Pickler[V]) extends Executor[V]

Runs warmups until the maximum number of warmups is done, or the running times have stabilized. After that, it runs the tests the specified number of times and collects the results using an aggregate function.

Runs warmups until the maximum number of warmups is done, or the running times have stabilized. After that, it runs the tests the specified number of times and collects the results using an aggregate function.

Stabilization is detected by tracking the running times for which there may have been and those for which there was no garbage collection. When either of the two running times stabilizes, we consider the JVM warmed up for the snippet.

We do this by registering on GC events instead of invoking Platform.collectGarbage, since usually the time to invoke the snippet is less than the time to perform full GC, and most triggered GC cycles are fast because they collect only the young generation.

Companion
object
trait Executor[V]
class Object
trait Matchable
class Any

Value members

Concrete methods

override def run[T](setups: Tree[Setup[T]], reporter: Reporter[V], persistor: Persistor): Tree[CurveData[V]]
Definition Classes
def runSetup[T](bsetup: Setup[T]): CurveData[V]
override def toString: String
Definition Classes
Any

Concrete fields

val aggregator: Aggregator[V]
val measurer: Measurer[V]
val warmer: Warmer