| The Gaudi Framework v29r0 (ff2e7097)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | Private Attributes | List of all members
System::ProcessTime Class Reference

Simple class to hold the time information of a process. More...

`#include <GaudiKernel/Timing.h>`

## Public Types
typedef long long | TimeValueType

## Public Member Functions
| ProcessTime ()
| Constructor. More...
| ProcessTime (TimeValueType k, TimeValueType u, TimeValueType e)
| Constructor. More...
template<TimeType T>
TimeValueType | kernelTime () const
| Retrieve the kernel time in the requested unit. More...
template<TimeType T>
TimeValueType | userTime () const
| Retrieve the user time in the requested unit. More...
template<TimeType T>
TimeValueType | elapsedTime () const
| Retrieve the elapsed time in the requested unit. More...
template<TimeType T>
TimeValueType | cpuTime () const
| Retrieve the CPU (user+kernel) time in the requested unit. More...
ProcessTime | operator- (const ProcessTime &rhs) const
| Return the delta between two `ProcessTime` objects. More...
ProcessTime & | operator+= (const ProcessTime &rhs)
| Add the timings to the current objects. More...

## Private Attributes
TimeValueType | i_kernel
| Internal storage. More...
TimeValueType | i_user
TimeValueType | i_elapsed

## Detailed Description

Simple class to hold the time information of a process.

Simplify the simultaneous handling of kernel, user and elapsed times of a process.

See also
  {bug #87341}

Definition at line 147 of file Timing.h.

## Member Typedef Documentation

typedef long long System::ProcessTime::TimeValueType

Definition at line 150 of file Timing.h.

## Constructor & Destructor Documentation

System::ProcessTime::ProcessTime | ( |  | ) |
| inline

Constructor.

Definition at line 153 of file Timing.h.

153 : i_kernel( 0 ), i_user( 0 ), i_elapsed( 0 ) {}
System::ProcessTime::i_kernel
TimeValueType i_kernel
Internal storage.
Definition: Timing.h:202
System::ProcessTime::i_user
TimeValueType i_user
Definition: Timing.h:202
System::ProcessTime::i_elapsed
TimeValueType i_elapsed
Definition: Timing.h:202

System::ProcessTime::ProcessTime | ( | TimeValueType | k,
|  | TimeValueType | u,
|  | TimeValueType | e
| ) |  |
| inline

Constructor.

Definition at line 156 of file Timing.h.

156 : i_kernel( k ), i_user( u ), i_elapsed( e ) {}
System::ProcessTime::i_kernel
TimeValueType i_kernel
Internal storage.
Definition: Timing.h:202
System::ProcessTime::i_user
TimeValueType i_user
Definition: Timing.h:202
System::ProcessTime::i_elapsed
TimeValueType i_elapsed
Definition: Timing.h:202

## Member Function Documentation

template<TimeType T>

TimeValueType System::ProcessTime::cpuTime | ( |  | ) | const
| inline

Retrieve the CPU (user+kernel) time in the requested unit.

Definition at line 181 of file Timing.h.

182 {
183 return adjustTime<T>( i_user + i_kernel );
184 }
System::ProcessTime::i_kernel
TimeValueType i_kernel
Internal storage.
Definition: Timing.h:202
System::ProcessTime::i_user
TimeValueType i_user
Definition: Timing.h:202
template<TimeType T>

TimeValueType System::ProcessTime::elapsedTime | ( |  | ) | const
| inline

Retrieve the elapsed time in the requested unit.

Definition at line 174 of file Timing.h.

175 {
176 return adjustTime<T>( i_elapsed );
177 }
System::ProcessTime::i_elapsed
TimeValueType i_elapsed
Definition: Timing.h:202
template<TimeType T>

TimeValueType System::ProcessTime::kernelTime | ( |  | ) | const
| inline

Retrieve the kernel time in the requested unit.

Definition at line 160 of file Timing.h.

161 {
162 return adjustTime<T>( i_kernel );
163 }
System::ProcessTime::i_kernel
TimeValueType i_kernel
Internal storage.
Definition: Timing.h:202

ProcessTime& System::ProcessTime::operator+= | ( | const ProcessTime & | rhs | ) |
| inline

Add the timings to the current objects.

Definition at line 192 of file Timing.h.

193 {
194 i_kernel += rhs.i_kernel;
195 i_user += rhs.i_user;
196 i_elapsed += rhs.i_elapsed;
197 return *this;
198 }
System::ProcessTime::i_kernel
TimeValueType i_kernel
Internal storage.
Definition: Timing.h:202
System::ProcessTime::i_user
TimeValueType i_user
Definition: Timing.h:202
System::ProcessTime::i_elapsed
TimeValueType i_elapsed
Definition: Timing.h:202

ProcessTime System::ProcessTime::operator- | ( | const ProcessTime & | rhs | ) | const
| inline

Return the delta between two `ProcessTime` objects.

Definition at line 187 of file Timing.h.

188 {
189 return ProcessTime( i_kernel - rhs.i_kernel, i_user - rhs.i_user, i_elapsed - rhs.i_elapsed );
190 }
System::ProcessTime::ProcessTime
ProcessTime()
Constructor.
Definition: Timing.h:153
System::ProcessTime::i_kernel
TimeValueType i_kernel
Internal storage.
Definition: Timing.h:202
System::ProcessTime::i_user
TimeValueType i_user
Definition: Timing.h:202
System::ProcessTime::i_elapsed
TimeValueType i_elapsed
Definition: Timing.h:202
template<TimeType T>

TimeValueType System::ProcessTime::userTime | ( |  | ) | const
| inline

Retrieve the user time in the requested unit.

Definition at line 167 of file Timing.h.

168 {
169 return adjustTime<T>( i_user );
170 }
System::ProcessTime::i_user
TimeValueType i_user
Definition: Timing.h:202

## Member Data Documentation

TimeValueType System::ProcessTime::i_elapsed
| private

Definition at line 202 of file Timing.h.

TimeValueType System::ProcessTime::i_kernel
| private

Internal storage.

Definition at line 202 of file Timing.h.

TimeValueType System::ProcessTime::i_user
| private

Definition at line 202 of file Timing.h.

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

- GaudiKernel/GaudiKernel/Timing.h