Package weka.core

Class Debug.Clock

java.lang.Object
weka.core.Debug.Clock
All Implemented Interfaces:
Serializable, RevisionHandler
Enclosing class:
Debug

public static class Debug.Clock extends Object implements Serializable, RevisionHandler
A little helper class for clocking and outputting times. It measures the CPU time if possible, otherwise it's just based on the system time. In case one just wants to measure time (e.g., database queries don't take up much CPU time, but still might take a long time to finish), then one can disable the use of CPU time as well.
Version:
$Revision: 8034 $
Author:
FracPete (fracpete at waikato dot ac dot nz)
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    the output format in hours:minutes:seconds, with fraction of msecs
    static final int
    the output format in milli-seconds
    static final int
    the output format in seconds, with fraction of msecs
    int
    the format of the output
    static final Tag[]
    the output formats
  • Constructor Summary

    Constructors
    Constructor
    Description
    automatically starts the clock with FORMAT_SECONDS format and CPU time if available
    Clock(boolean start)
    starts the clock depending on start immediately with the FORMAT_SECONDS output format and CPU time if available
    Clock(boolean start, int format)
    starts the clock depending on start immediately, using CPU time if available
    Clock(int format)
    automatically starts the clock with the given output format and CPU time if available
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    returns the output format
    Returns the revision string.
    long
    returns the start time
    long
    returns the stop time or, if still running, the current time
    boolean
    returns whether the use of CPU is time is enabled/disabled (regardless whether the system supports it or not)
    boolean
    whether the measurement is based on the msecs returned from the System class or on the more accurate CPU time.
    boolean
    whether the time is still being clocked
    void
    setOutputFormat(int value)
    sets the format of the output
    void
    setUseCpuTime(boolean value)
    enables/disables the use of CPU time (if measurement of CPU time is available).
    void
    saves the current system time (or CPU time) in msec as start time
    void
    saves the current system (or CPU time) in msec as stop time
    returns the elapsed time, getStop() - getStart(), as string

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • FORMAT_MILLISECONDS

      public static final int FORMAT_MILLISECONDS
      the output format in milli-seconds
      See Also:
    • FORMAT_SECONDS

      public static final int FORMAT_SECONDS
      the output format in seconds, with fraction of msecs
      See Also:
    • FORMAT_HHMMSS

      public static final int FORMAT_HHMMSS
      the output format in hours:minutes:seconds, with fraction of msecs
      See Also:
    • TAGS_FORMAT

      public static final Tag[] TAGS_FORMAT
      the output formats
    • m_OutputFormat

      public int m_OutputFormat
      the format of the output
  • Constructor Details

    • Clock

      public Clock()
      automatically starts the clock with FORMAT_SECONDS format and CPU time if available
      See Also:
    • Clock

      public Clock(int format)
      automatically starts the clock with the given output format and CPU time if available
      Parameters:
      format - the output format
      See Also:
    • Clock

      public Clock(boolean start)
      starts the clock depending on start immediately with the FORMAT_SECONDS output format and CPU time if available
      Parameters:
      start - whether to start the clock immediately
      See Also:
    • Clock

      public Clock(boolean start, int format)
      starts the clock depending on start immediately, using CPU time if available
      Parameters:
      start - whether to start the clock immediately
      format - the format
      See Also:
  • Method Details

    • isCpuTime

      public boolean isCpuTime()
      whether the measurement is based on the msecs returned from the System class or on the more accurate CPU time. Also depends on whether the usage of the CPU time was disabled or enabled.
      Returns:
      true if the more accurate CPU time of the thread is used and the use of CPU time hasn't been disabled
      See Also:
    • setUseCpuTime

      public void setUseCpuTime(boolean value)
      enables/disables the use of CPU time (if measurement of CPU time is available). The actual use of CPU time still depends on whether the system supports it. Resets the current timer, if running.
      Parameters:
      value - if true the CPU time is used (if possible)
    • getUseCpuTime

      public boolean getUseCpuTime()
      returns whether the use of CPU is time is enabled/disabled (regardless whether the system supports it or not)
      Returns:
      true the CPU time is used (if possible)
    • start

      public void start()
      saves the current system time (or CPU time) in msec as start time
      See Also:
      • m_Start
    • stop

      public void stop()
      saves the current system (or CPU time) in msec as stop time
      See Also:
      • m_Stop
    • getStart

      public long getStart()
      returns the start time
      Returns:
      the start time
    • getStop

      public long getStop()
      returns the stop time or, if still running, the current time
      Returns:
      the stop time
    • isRunning

      public boolean isRunning()
      whether the time is still being clocked
      Returns:
      true if the time is still being clocked
    • setOutputFormat

      public void setOutputFormat(int value)
      sets the format of the output
      Parameters:
      value - the format of the output
      See Also:
    • getOutputFormat

      public int getOutputFormat()
      returns the output format
      Returns:
      the output format
      See Also:
    • toString

      public String toString()
      returns the elapsed time, getStop() - getStart(), as string
      Overrides:
      toString in class Object
      Returns:
      the elapsed time as string
      See Also:
    • getRevision

      public String getRevision()
      Returns the revision string.
      Specified by:
      getRevision in interface RevisionHandler
      Returns:
      the revision