Open CASCADE Technology  7.2.0
Public Member Functions | Static Public Member Functions | Protected Attributes

OSD_Chronometer Class Reference

This class measures CPU time (both user and system) consumed by current process or thread. The chronometer can be started and stopped multiple times, and measures cumulative time. More...

#include <OSD_Chronometer.hxx>

Inheritance diagram for OSD_Chronometer:
Inheritance graph
[legend]

Public Member Functions

 OSD_Chronometer (const Standard_Boolean ThisThreadOnly=Standard_False)
 Initializes a stopped Chronometer. More...
 
virtual ~OSD_Chronometer ()
 
Standard_Boolean IsStarted () const
 Return true if timer has been started. More...
 
virtual void Reset ()
 Stops and Reinitializes the Chronometer. More...
 
virtual void Restart ()
 Restarts the Chronometer. More...
 
virtual void Stop ()
 Stops the Chronometer. More...
 
virtual void Start ()
 Starts (after Create or Reset) or restarts (after Stop) the chronometer. More...
 
virtual void Show () const
 Shows the current CPU user and system time on the standard output stream <cout>. The chronometer can be running (laps Time) or stopped. More...
 
virtual void Show (Standard_OStream &os) const
 Shows the current CPU user and system time on the output stream <os>. The chronometer can be running (laps Time) or stopped. More...
 
void Show (Standard_Real &theUserSeconds) const
 Returns the current CPU user time in a variable. The chronometer can be running (laps Time) or stopped. More...
 
void Show (Standard_Real &theUserSeconds, Standard_Real &theSystemSeconds) const
 Returns the current CPU user and system time in variables. The chronometer can be running (laps Time) or stopped. More...
 

Static Public Member Functions

static void GetProcessCPU (Standard_Real &UserSeconds, Standard_Real &SystemSeconds)
 Returns CPU time (user and system) consumed by the current process since its start, in seconds. The actual precision of the measurement depends on granularity provided by the system, and is platform-specific. More...
 
static void GetThreadCPU (Standard_Real &UserSeconds, Standard_Real &SystemSeconds)
 Returns CPU time (user and system) consumed by the current thread since its start. Note that this measurement is platform-specific, as threads are implemented and managed differently on different platforms and CPUs. More...
 

Protected Attributes

Standard_Boolean Stopped
 

Detailed Description

This class measures CPU time (both user and system) consumed by current process or thread. The chronometer can be started and stopped multiple times, and measures cumulative time.

If only the thread is measured, calls to Stop() and Show() must occur from the same thread where Start() was called (unless chronometer is stopped); otherwise measurement will yield false values.

Constructor & Destructor Documentation

◆ OSD_Chronometer()

OSD_Chronometer::OSD_Chronometer ( const Standard_Boolean  ThisThreadOnly = Standard_False)

Initializes a stopped Chronometer.

If ThisThreadOnly is True, measured CPU time will account time of the current thread only; otherwise CPU of the process (all threads, and completed children) is measured.

◆ ~OSD_Chronometer()

virtual OSD_Chronometer::~OSD_Chronometer ( )
virtual

Member Function Documentation

◆ GetProcessCPU()

static void OSD_Chronometer::GetProcessCPU ( Standard_Real UserSeconds,
Standard_Real SystemSeconds 
)
static

Returns CPU time (user and system) consumed by the current process since its start, in seconds. The actual precision of the measurement depends on granularity provided by the system, and is platform-specific.

◆ GetThreadCPU()

static void OSD_Chronometer::GetThreadCPU ( Standard_Real UserSeconds,
Standard_Real SystemSeconds 
)
static

Returns CPU time (user and system) consumed by the current thread since its start. Note that this measurement is platform-specific, as threads are implemented and managed differently on different platforms and CPUs.

◆ IsStarted()

Standard_Boolean OSD_Chronometer::IsStarted ( ) const
inline

Return true if timer has been started.

◆ Reset()

virtual void OSD_Chronometer::Reset ( )
virtual

Stops and Reinitializes the Chronometer.

Reimplemented in OSD_Timer.

◆ Restart()

virtual void OSD_Chronometer::Restart ( )
virtual

Restarts the Chronometer.

Reimplemented in OSD_Timer.

◆ Show() [1/4]

virtual void OSD_Chronometer::Show ( ) const
virtual

Shows the current CPU user and system time on the standard output stream <cout>. The chronometer can be running (laps Time) or stopped.

Reimplemented in OSD_Timer.

◆ Show() [2/4]

virtual void OSD_Chronometer::Show ( Standard_OStream os) const
virtual

Shows the current CPU user and system time on the output stream <os>. The chronometer can be running (laps Time) or stopped.

Reimplemented in OSD_Timer.

◆ Show() [3/4]

void OSD_Chronometer::Show ( Standard_Real theUserSeconds) const

Returns the current CPU user time in a variable. The chronometer can be running (laps Time) or stopped.

◆ Show() [4/4]

void OSD_Chronometer::Show ( Standard_Real theUserSeconds,
Standard_Real theSystemSeconds 
) const

Returns the current CPU user and system time in variables. The chronometer can be running (laps Time) or stopped.

◆ Start()

virtual void OSD_Chronometer::Start ( )
virtual

Starts (after Create or Reset) or restarts (after Stop) the chronometer.

Reimplemented in OSD_Timer.

◆ Stop()

virtual void OSD_Chronometer::Stop ( )
virtual

Stops the Chronometer.

Reimplemented in OSD_Timer.

Field Documentation

◆ Stopped

Standard_Boolean OSD_Chronometer::Stopped
protected

The documentation for this class was generated from the following file: