Gestion d'un timer. Plus de détails...
#include <arcane/core/Timer.h>
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 String & | name () 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. | |
ITimerMng * | timerMng () const |
Gestionnaire associé à ce timer. | |
void | _setStartTime (Real t) |
Real | _startTime () const |
Fonctions membres publiques statiques | |
static TimeMetricAction | phaseAction (ITimeStats *s, eTimePhase phase) |
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:
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.
Arcane::Timer::Timer | ( | ISubDomain * | sd, |
const String & | name, | ||
eTimerType | type | ||
) |
Arcane::Timer::Timer | ( | ITimerMng * | tm, |
const String & | name, | ||
eTimerType | type | ||
) |
|
inline |
|
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().
|
inline |
|
inline |
|
static |
void Arcane::Timer::reset | ( | ) |
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().
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.
Définition à la ligne 88 du fichier Timer.cc.
Références ARCANE_FATAL, et Arcane::ITimerMng::endTimer().
|
inline |
|
inline |
|
inline |