ox.cads.util

Profiler

object Profiler

The object implements a number of named timers and named counters. Code can be timed, with the time taken added to that of the named timer. Similarly, the number of times particular points in the code are reached can be counted, with the count recorded against a named counter.

The normal usages are:

Note that normal scoping rules apply. In code such as Profiler.time("answer"){ val x = 6*7 }, the scope of x will be just the inner statement; normal use would be val x = Profiler.time("answer"){ 6*7 }.

For use with concurrent code, it is recommended to start by calling setWorkers(p) to set the number of concurrent threads to p (8 by default). If two threads have the same ID (mod p) then they may interfere, both in terms of correctness, and through creating cache contention.

As with all profilers, there is a fairly significant overhead.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Profiler
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

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

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clear: Unit

    Clear all counters and timers.

  8. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  9. def count(cname: String): Unit

    Increment the counter, recording it against the current thread

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

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

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

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

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

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

    Definition Classes
    Any
  16. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  17. final def notify(): Unit

    Definition Classes
    AnyRef
  18. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  19. def notime[A](tname: String)(cmd: ⇒ A): A

    Do not time cmd.

    Do not time cmd. This function is provided to allow timing to be easily turned on and off. Note, though, htat it has a non-zero cost.

    Annotations
    @inline()
  20. def report: Unit

    Produce report of all timers and counters, and reset

  21. def setWorkers(p: Int): Unit

    Set the number of concurrent workers

  22. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  23. def time[A](tname: String)(cmd: ⇒ A): A

    Time cmd, recording the duration against the current thread

  24. def toString(): String

    Definition Classes
    AnyRef → Any
  25. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from AnyRef

Inherited from Any

Ungrouped