| The Gaudi Framework v28r2-patches (bc4ad17a)

- 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 146 of file Timing.h.

## Member Typedef Documentation

typedef long long System::ProcessTime::TimeValueType

Definition at line 148 of file Timing.h.

## Constructor & Destructor Documentation

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

Constructor.

Definition at line 151 of file Timing.h.

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

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

Constructor.

Definition at line 154 of file Timing.h.

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

## 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 171 of file Timing.h.

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

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

Retrieve the elapsed time in the requested unit.

Definition at line 167 of file Timing.h.

167 { return adjustTime<T>(i_elapsed); }
System::ProcessTime::i_elapsed
TimeValueType i_elapsed
Definition: Timing.h:188
template<TimeType T>

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

Retrieve the kernel time in the requested unit.

Definition at line 159 of file Timing.h.

159 { return adjustTime<T>(i_kernel); }
System::ProcessTime::i_kernel
TimeValueType i_kernel
Internal storage.
Definition: Timing.h:188

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

Add the timings to the current objects.

Definition at line 180 of file Timing.h.

180 {
181 i_kernel += rhs.i_kernel;
182 i_user += rhs.i_user;
183 i_elapsed += rhs.i_elapsed;
184 return *this;
185 }
System::ProcessTime::i_kernel
TimeValueType i_kernel
Internal storage.
Definition: Timing.h:188
System::ProcessTime::i_user
TimeValueType i_user
Definition: Timing.h:188
System::ProcessTime::i_elapsed
TimeValueType i_elapsed
Definition: Timing.h:188

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

Return the delta between two `ProcessTime` objects.

Definition at line 174 of file Timing.h.

174 {
175 return ProcessTime(i_kernel - rhs.i_kernel,
176 i_user - rhs.i_user,
177 i_elapsed - rhs.i_elapsed);
178 }
System::ProcessTime::ProcessTime
ProcessTime()
Constructor.
Definition: Timing.h:151
System::ProcessTime::i_kernel
TimeValueType i_kernel
Internal storage.
Definition: Timing.h:188
System::ProcessTime::i_user
TimeValueType i_user
Definition: Timing.h:188
System::ProcessTime::i_elapsed
TimeValueType i_elapsed
Definition: Timing.h:188
template<TimeType T>

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

Retrieve the user time in the requested unit.

Definition at line 163 of file Timing.h.

163 { return adjustTime<T>(i_user); }
System::ProcessTime::i_user
TimeValueType i_user
Definition: Timing.h:188

## Member Data Documentation

TimeValueType System::ProcessTime::i_elapsed
| private

Definition at line 188 of file Timing.h.

TimeValueType System::ProcessTime::i_kernel
| private

Internal storage.

Definition at line 188 of file Timing.h.

TimeValueType System::ProcessTime::i_user
| private

Definition at line 188 of file Timing.h.

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

- GaudiKernel/GaudiKernel/Timing.h