LLVM  14.0.0git
Public Member Functions | Friends | List of all members
llvm::Timer Class Reference

This class is used to track the amount of time spent between invocations of its startTimer()/stopTimer() methods. More...

#include "llvm/Support/Timer.h"

Public Member Functions

 Timer (StringRef TimerName, StringRef TimerDescription)
 
 Timer (StringRef TimerName, StringRef TimerDescription, TimerGroup &tg)
 
 Timer (const Timer &RHS)
 
const Timeroperator= (const Timer &T)
 
 ~Timer ()
 
 Timer ()
 Create an uninitialized timer, client must use 'init'. More...
 
void init (StringRef TimerName, StringRef TimerDescription)
 
void init (StringRef TimerName, StringRef TimerDescription, TimerGroup &tg)
 
const std::string & getName () const
 
const std::string & getDescription () const
 
bool isInitialized () const
 
bool isRunning () const
 Check if the timer is currently running. More...
 
bool hasTriggered () const
 Check if startTimer() has ever been called on this timer. More...
 
void startTimer ()
 Start the timer running. More...
 
void stopTimer ()
 Stop the timer. More...
 
void clear ()
 Clear the timer state. More...
 
TimeRecord getTotalTime () const
 Return the duration for which this timer has been running. More...
 

Friends

class TimerGroup
 

Detailed Description

This class is used to track the amount of time spent between invocations of its startTimer()/stopTimer() methods.

Given appropriate OS support it can also keep track of the RSS of the program at various points. By default, the Timer will print the amount of time it has captured to standard error when the last timer is destroyed, otherwise it is printed when its TimerGroup is destroyed. Timers do not print their information if they are never started.

Definition at line 82 of file Timer.h.

Constructor & Destructor Documentation

◆ Timer() [1/4]

llvm::Timer::Timer ( StringRef  TimerName,
StringRef  TimerDescription 
)
inlineexplicit

Definition at line 94 of file Timer.h.

References init().

◆ Timer() [2/4]

llvm::Timer::Timer ( StringRef  TimerName,
StringRef  TimerDescription,
TimerGroup tg 
)
inline

Definition at line 97 of file Timer.h.

References init().

◆ Timer() [3/4]

llvm::Timer::Timer ( const Timer RHS)
inline

Definition at line 100 of file Timer.h.

References assert().

◆ ~Timer()

Timer::~Timer ( )

Definition at line 146 of file Timer.cpp.

◆ Timer() [4/4]

llvm::Timer::Timer ( )
inlineexplicit

Create an uninitialized timer, client must use 'init'.

Definition at line 110 of file Timer.h.

Member Function Documentation

◆ clear()

void Timer::clear ( )

Clear the timer state.

Definition at line 205 of file Timer.cpp.

Referenced by llvm::RecordKeeper::startTimer().

◆ getDescription()

const std::string& llvm::Timer::getDescription ( ) const
inline

Definition at line 115 of file Timer.h.

◆ getName()

const std::string& llvm::Timer::getName ( ) const
inline

Definition at line 114 of file Timer.h.

Referenced by startTimer().

◆ getTotalTime()

TimeRecord llvm::Timer::getTotalTime ( ) const
inline

Return the duration for which this timer has been running.

Definition at line 136 of file Timer.h.

◆ hasTriggered()

bool llvm::Timer::hasTriggered ( ) const
inline

Check if startTimer() has ever been called on this timer.

Definition at line 122 of file Timer.h.

◆ init() [1/2]

void Timer::init ( StringRef  TimerName,
StringRef  TimerDescription 
)

Definition at line 132 of file Timer.cpp.

References getDefaultTimerGroup().

Referenced by Timer().

◆ init() [2/2]

void Timer::init ( StringRef  TimerName,
StringRef  TimerDescription,
TimerGroup tg 
)

Definition at line 136 of file Timer.cpp.

References assert(), llvm::StringRef::begin(), and llvm::StringRef::end().

◆ isInitialized()

bool llvm::Timer::isInitialized ( ) const
inline

Definition at line 116 of file Timer.h.

◆ isRunning()

bool llvm::Timer::isRunning ( ) const
inline

Check if the timer is currently running.

Definition at line 119 of file Timer.h.

Referenced by llvm::RecordKeeper::startTimer().

◆ operator=()

const Timer& llvm::Timer::operator= ( const Timer T)
inline

Definition at line 103 of file Timer.h.

References assert(), and T.

◆ startTimer()

void Timer::startTimer ( )

Start the timer running.

Time between calls to startTimer/stopTimer is counted by the Timer class. Note that these calls must be correctly paired.

Definition at line 190 of file Timer.cpp.

References assert(), llvm::TimeRecord::getCurrentTime(), getName(), and Signposts.

Referenced by llvm::RecordKeeper::startTimer().

◆ stopTimer()

void Timer::stopTimer ( )

Stop the timer.

Definition at line 197 of file Timer.cpp.

References assert(), llvm::TimeRecord::getCurrentTime(), and Signposts.

Referenced by llvm::RecordKeeper::startTimer(), and llvm::RecordKeeper::stopTimer().

Friends And Related Function Documentation

◆ TimerGroup

friend class TimerGroup
friend

Definition at line 139 of file Timer.h.


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