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) |
Attributs privés | |
ITimerMng * | m_timer_mng |
Gestionnaire de timer. | |
eTimerType | m_type |
Type du timer. | |
Integer | m_nb_activated |
Nombre de fois que le timer a été activé | |
bool | m_is_activated |
true si le timer est actif | |
Real | m_activation_time |
Temps passé lors de la dernière activation. | |
Real | m_total_time |
Temps total passé dans le timer. | |
String | m_name |
Nom du timer. | |
Real | m_start_time |
Temps du début de la dernière activation. | |
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 ) |
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.
Références name(), Timer(), timerMng(), et type().
Référencé par Arcane::Timer::Sentry::Sentry(), et Timer().
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.
Références m_activation_time, m_is_activated, m_name, m_nb_activated, m_start_time, m_timer_mng, m_total_time, m_type, name(), et type().
|
inline |
Définition à la ligne 236 du fichier Timer.h.
Références m_start_time.
Référencé par Arcane::TimerMng::beginTimer().
|
inline |
Définition à la ligne 238 du fichier Timer.h.
Références m_start_time.
Référencé par Arcane::TimerMng::endTimer(), et Arcane::TimerMng::getTime().
|
inline |
Retourne l'état d'activation du timer.
Définition à la ligne 210 du fichier Timer.h.
Références m_is_activated.
Référencé par Arcane::TimerMng::hasTimer().
|
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érences m_activation_time.
Référencé par Arcane::TimeLoopMng::_doMeshPartition(), Arcane::LimaCutInfosReader::_readUniqueIndex(), Arcane::mesh::DynamicMesh::allocateCells(), Arcane::mesh::DynamicMeshKindInfos::beginCompactItems(), Arcane::ArcaneInitialPartitioner::partitionAndDistributeMeshes(), Arcane::mesh::DynamicMesh::reloadMesh(), et Arcane::Materials::ItemMaterialVariableScalar< DataType >::synchronize().
|
inline |
|
inline |
Retourne le nombre de fois que le timer a été activé
Définition à la ligne 222 du fichier Timer.h.
Références m_nb_activated.
|
static |
void Arcane::Timer::reset | ( | ) |
Remet à zéro les compteurs de temps.
Définition à la ligne 101 du fichier Timer.cc.
Références m_activation_time, m_is_activated, et m_total_time.
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, m_activation_time, m_is_activated, m_nb_activated, et m_timer_mng.
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, m_activation_time, m_is_activated, m_timer_mng, et m_total_time.
|
inline |
Gestionnaire associé à ce timer.
Définition à la ligne 231 du fichier Timer.h.
Références m_timer_mng.
Référencé par Arcane::TimerMng::hasTimer(), et Timer().
|
inline |
Retourne le temps total (en secondes) passé dans le timer.
Définition à la ligne 216 du fichier Timer.h.
Références m_total_time.
|
inline |
|
private |
|
private |
|
private |
|
private |
Nombre de fois que le timer a été activé
Définition à la ligne 243 du fichier Timer.h.
Référencé par nbActivated(), start(), et Timer().
|
private |
Temps du début de la dernière activation.
Définition à la ligne 248 du fichier Timer.h.
Référencé par _setStartTime(), _startTime(), et Timer().
|
private |
|
private |
|
private |