Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::Timer

Gestion d'un timer. Plus de détails...

#include <arcane/core/Timer.h>

+ Graphe de collaboration de Arcane::Timer:

Classes

class  Action
 Postionne le nom de l'action en cours d'exécution. Plus de détails...
 
class  Phase
 Positionne la phase de l'action en cours d'exécution. Plus de détails...
 
class  Sentry
 Sentinelle pour le timer. La sentinelle associée à un timer permet de déclancher celui-ci au moment de sa construction et de l'arrêter au moment de sa destruction. Cela assure que le timer sera bien arrêté en cas d'exception par exemple. Plus de détails...
 
class  SimplePrinter
 Affiche le temps passé entre l'appel au constructeur et le destructeur. Plus de détails...
 

Types publics

enum  eTimerType { TimerVirtual , TimerReal }
 Type du timer. Plus de détails...
 

Fonctions membres publiques

 Timer (ISubDomain *sd, const String &name, eTimerType type)
 Construit un timer.
 
 Timer (ITimerMng *tm, const String &name, eTimerType type)
 Construit un timer.
 
 ~Timer ()
 Libère les ressources.
 
void start ()
 Active le timer.
 
Real stop ()
 Désactive le timer.
 
bool isActivated () const
 Retourne l'état d'activation du timer.
 
const Stringname () const
 Retourne le nom du timer.
 
Real totalTime () const
 Retourne le temps total (en secondes) passé dans le timer.
 
Real lastActivationTime () const
 Retourne le temps (en secondes) passé lors de la dernière activation du timer.
 
Integer nbActivated () const
 Retourne le nombre de fois que le timer a été activé
 
eTimerType type () const
 Retourne le type du temps utilisé
 
void reset ()
 Remet à zéro les compteurs de temps.
 
ITimerMngtimerMng () const
 Gestionnaire associé à ce timer.
 
void _setStartTime (Real t)
 
Real _startTime () const
 

Fonctions membres publiques statiques

static TimeMetricAction phaseAction (ITimeStats *s, eTimePhase phase)
 

Description détaillée

Gestion d'un timer.

Une instance de cette classe permet de mesurer le temps passé entre son activation par la méthode start() et son arrêt par la méthode stop().

Le timer peut être utilisé plusieurs fois et il est possible de connaître à la fois le nombre d'activation (nbActivated()) et le temps total passé dans ses activations successives (totalTime()).

Il existe deux modes de fonctionnement:

  • TimerVirtual: le timer utilise le temps CPU du processus. Ce temps est constant quelle que soit la charge de la machine;
  • TimerReal: le timer utilise le temps réel. La résolution de ce timer est en général meilleure qu'avec le type précédent mais elle n'est significative que lorsque la machine est dédiée au processus.
Note
Depuis la version 3.6 de Arcane, le TimerVirtual est obsolète et la valeur retournée sera équivalent à TimerReal.

La résolution du timer dépend de la machine. Elle est de l'ordre de la milliseconde pour les timers utilisant le temps CPU et de l'ordre de la microseconde pour les timers utilisant le temps réel.

Définition à la ligne 61 du fichier Timer.h.

Documentation des énumérations membres

◆ eTimerType

Type du timer.

Valeurs énumérées
TimerVirtual 

Timer utilisant le temps CPU (obsolète).

Obsolète:
Ce timer n'est plus utilisé et se comporte comme le temps horloge (TimerReal).
TimerReal 

Timer utilisant le temps réel.

Définition à la ligne 66 du fichier Timer.h.

Documentation des constructeurs et destructeur

◆ Timer() [1/2]

Arcane::Timer::Timer ( ISubDomain sd,
const String name,
eTimerType  type 
)

Construit un timer.

Construit un timer lié au sous-domaine sd, de nom name et de type type.

Définition à la ligne 38 du fichier Timer.cc.

◆ Timer() [2/2]

Arcane::Timer::Timer ( ITimerMng tm,
const String name,
eTimerType  type 
)

Construit un timer.

Construit un timer lié au gestionnaire tm, de nom name et de type type.

Définition à la ligne 47 du fichier Timer.cc.

◆ ~Timer()

Arcane::Timer::~Timer ( )

Libère les ressources.

Définition à la ligne 63 du fichier Timer.cc.

Documentation des fonctions membres

◆ _setStartTime()

void Arcane::Timer::_setStartTime ( Real  t)
inline

Définition à la ligne 236 du fichier Timer.h.

◆ _startTime()

Real Arcane::Timer::_startTime ( ) const
inline

Définition à la ligne 238 du fichier Timer.h.

◆ isActivated()

bool Arcane::Timer::isActivated ( ) const
inline

Retourne l'état d'activation du timer.

Définition à la ligne 210 du fichier Timer.h.

◆ lastActivationTime()

Real Arcane::Timer::lastActivationTime ( ) const
inline

Retourne le temps (en secondes) passé lors de la dernière activation du timer.

Définition à la ligne 219 du fichier Timer.h.

Référencé par Arcane::Materials::ItemMaterialVariableScalar< DataType >::synchronize().

◆ name()

const String & Arcane::Timer::name ( ) const
inline

Retourne le nom du timer.

Définition à la ligne 213 du fichier Timer.h.

◆ nbActivated()

Integer Arcane::Timer::nbActivated ( ) const
inline

Retourne le nombre de fois que le timer a été activé

Définition à la ligne 222 du fichier Timer.h.

◆ phaseAction()

TimeMetricAction Arcane::Timer::phaseAction ( ITimeStats s,
eTimePhase  phase 
)
static

Définition à la ligne 270 du fichier Timer.cc.

◆ reset()

void Arcane::Timer::reset ( )

Remet à zéro les compteurs de temps.

Définition à la ligne 101 du fichier Timer.cc.

◆ start()

void Arcane::Timer::start ( )

Active le timer.

Si le timer est déjà actif, cette méthode ne fait rien.

Définition à la ligne 71 du fichier Timer.cc.

Références ARCANE_FATAL, et Arcane::ITimerMng::beginTimer().

◆ stop()

Real Arcane::Timer::stop ( )

Désactive le timer.

Si le timer n'est pas actif au moment de l'appel, cette méthode ne fait rien.

Renvoie
le temps écoulé (en secondes) depuis la dernière activation.

Définition à la ligne 88 du fichier Timer.cc.

Références ARCANE_FATAL, et Arcane::ITimerMng::endTimer().

◆ timerMng()

ITimerMng * Arcane::Timer::timerMng ( ) const
inline

Gestionnaire associé à ce timer.

Définition à la ligne 231 du fichier Timer.h.

◆ totalTime()

Real Arcane::Timer::totalTime ( ) const
inline

Retourne le temps total (en secondes) passé dans le timer.

Définition à la ligne 216 du fichier Timer.h.

◆ type()

eTimerType Arcane::Timer::type ( ) const
inline

Retourne le type du temps utilisé

Définition à la ligne 225 du fichier Timer.h.


La documentation de cette classe a été générée à partir des fichiers suivants :