| The Gaudi Framework v32r1 (f65d50dc)

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

## ◆ TimeValueType

typedef long long System::ProcessTime::TimeValueType

Definition at line 148 of file Timing.h.

## Constructor & Destructor Documentation

## ◆ ProcessTime() [1/2]

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:194
System::ProcessTime::i_user
TimeValueType i_user
Definition: Timing.h:194
System::ProcessTime::i_elapsed
TimeValueType i_elapsed
Definition: Timing.h:194

## ◆ ProcessTime() [2/2]

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

Constructor.

Definition at line 154 of file Timing.h.

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

## Member Function Documentation

## ◆ cpuTime()

template<TimeType T>

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

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

Definition at line 176 of file Timing.h.

176 {
177 return adjustTime<T>( i_user + i_kernel );
178 }
System::ProcessTime::i_kernel
TimeValueType i_kernel
Internal storage.
Definition: Timing.h:194
System::ProcessTime::i_user
TimeValueType i_user
Definition: Timing.h:194

## ◆ elapsedTime()

template<TimeType T>

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

Retrieve the elapsed time in the requested unit.

Definition at line 170 of file Timing.h.

170 {
171 return adjustTime<T>( i_elapsed );
172 }
System::ProcessTime::i_elapsed
TimeValueType i_elapsed
Definition: Timing.h:194

## ◆ kernelTime()

template<TimeType T>

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

Retrieve the kernel time in the requested unit.

Definition at line 158 of file Timing.h.

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

## ◆ operator+=()

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

Add the timings to the current objects.

Definition at line 185 of file Timing.h.

185 {
186 i_kernel += rhs.i_kernel;
187 i_user += rhs.i_user;
188 i_elapsed += rhs.i_elapsed;
189 return *this;
190 }
System::ProcessTime::i_kernel
TimeValueType i_kernel
Internal storage.
Definition: Timing.h:194
System::ProcessTime::i_user
TimeValueType i_user
Definition: Timing.h:194
System::ProcessTime::i_elapsed
TimeValueType i_elapsed
Definition: Timing.h:194

## ◆ operator-()

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

Return the delta between two `ProcessTime` objects.

Definition at line 181 of file Timing.h.

181 {
182 return ProcessTime( i_kernel - rhs.i_kernel, i_user - rhs.i_user, i_elapsed - rhs.i_elapsed );
183 }
System::ProcessTime::ProcessTime
ProcessTime()
Constructor.
Definition: Timing.h:151
System::ProcessTime::i_kernel
TimeValueType i_kernel
Internal storage.
Definition: Timing.h:194
System::ProcessTime::i_user
TimeValueType i_user
Definition: Timing.h:194
System::ProcessTime::i_elapsed
TimeValueType i_elapsed
Definition: Timing.h:194

## ◆ userTime()

template<TimeType T>

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

Retrieve the user time in the requested unit.

Definition at line 164 of file Timing.h.

164 {
165 return adjustTime<T>( i_user );
166 }
System::ProcessTime::i_user
TimeValueType i_user
Definition: Timing.h:194

## Member Data Documentation

## ◆ i_elapsed

TimeValueType System::ProcessTime::i_elapsed
| private

Definition at line 194 of file Timing.h.

## ◆ i_kernel

TimeValueType System::ProcessTime::i_kernel
| private

Internal storage.

Definition at line 194 of file Timing.h.

## ◆ i_user

TimeValueType System::ProcessTime::i_user
| private

Definition at line 194 of file Timing.h.

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

- GaudiKernel/GaudiKernel/Timing.h