org.scalameter.execution

Type members

Classlikes

final class JvmRunner
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
object LocalExecutor extends Factory[[V] =>> LocalExecutor[V]]
Companion
class
class Main
Companion
object
object Main
Companion
class
case class SeparateJvmFailure(t: Throwable)
class SeparateJvmsExecutor[V](val warmer: Warmer, val aggregator: Aggregator[V], val measurer: Measurer[V])(`evidence$1`: Pickler[V], `evidence$2`: PrettyPrinter[V]) extends Executor[V]

Runs multiple JVM instances per each setup and aggregates all the results together.

Runs multiple JVM instances per each setup and aggregates all the results together.

This produces more stable results, as the performance related effects of each JVM instantiation are averaged.

Companion
object
Companion
class