Trait

org.scalameter.Measurer

OutlierElimination

Related Doc: package Measurer

Permalink

trait OutlierElimination[V] extends Measurer[V]

A mixin measurer which detects outliers (due to an undetected GC or JIT) and requests additional measurements to replace them. Outlier elimination can also eliminate some pretty bad allocation patterns in some cases. Only outliers from above are considered.

When detecting an outlier, up to Key.exec.outliers.suspectPercent% (with a minimum of 1) of worst times will be considered. For example, given Key.exec.outliers.suspectPercent = 25 the times:

10, 11, 10, 12, 11, 11, 10, 11, 44

times 12 and 44 are considered for outlier elimination.

Given the times:

10, 12, 14, 55

the time 55 will be considered for outlier elimination.

A potential outlier (suffix) is removed if removing it increases the coefficient of variance by at least Key.exec.outliers.covMultiplier times.

Linear Supertypes
Measurer[V], Serializable, Serializable, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. OutlierElimination
  2. Measurer
  3. Serializable
  4. Serializable
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. implicit abstract def numeric: Numeric[V]

    Permalink

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def afterExecution(context: Context): Unit

    Permalink

    Does some final cleanup after execution of all benchmarks in a performance test.

    Does some final cleanup after execution of all benchmarks in a performance test.

    This method is invoked in the PerformanceTest executeTests method just after execution of all benchmarks.

    Most measurers do not need to do any side effects in beforeExecution, so the default implementation just does nothing.

    Definition Classes
    Measurer
  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def beforeExecution(context: Context): Unit

    Permalink

    Does some side effects before execution of all benchmarks in a performance test.

    Does some side effects before execution of all benchmarks in a performance test.

    This method is invoked in the PerformanceTest executeTests method just before execution of any benchmarks.

    Most measurers do not need add additional context keys in prepareContext, so the default implementation just does nothing.

    Definition Classes
    Measurer
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def covMultiplierModifier: Double

    Permalink
  9. def eliminateLow: Boolean

    Permalink
  10. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  14. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  15. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  16. def map[U](f: (Quantity[V]) ⇒ Quantity[U]): Measurer[U]

    Permalink
    Definition Classes
    Measurer
  17. def measure[T](context: Context, measurements: Int, setup: (T) ⇒ Any, tear: (T) ⇒ Any, regen: () ⇒ T, snippet: (T) ⇒ Any): Seq[Quantity[V]]

    Permalink
    Definition Classes
    OutlierEliminationMeasurer
  18. def name: String

    Permalink
    Definition Classes
    OutlierEliminationMeasurer
  19. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  20. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  21. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  22. def prepareContext(context: Context): Context

    Permalink

    Modifies the initial test context.

    Modifies the initial test context.

    This method is invoked before the PerformanceTest object's ctor is invoked. The key-value pairs that the org.scalameter.Measurer adds to the org.scalameter.Context in this method are visible to all the test snippets within the PerformanceTest class.

    Most measurers do not need to add any specific keys, so the default implementation just returns the context.

    Definition Classes
    Measurer
  23. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  24. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  25. def usesInstrumentedClasspath: Boolean

    Permalink

    Indicates if a measurer uses instrumented classpath - if true measurer must be run using an executor that spawns separate JVMs.

    Indicates if a measurer uses instrumented classpath - if true measurer must be run using an executor that spawns separate JVMs.

    Definition Classes
    Measurer
  26. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Measurer[V]

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped