LLVM 20.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 ()=default
 Create an uninitialized timer, client must use 'init'.
 
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.
 
bool hasTriggered () const
 Check if startTimer() has ever been called on this timer.
 
void startTimer ()
 Start the timer running.
 
void stopTimer ()
 Stop the timer.
 
void clear ()
 Clear the timer state.
 
TimeRecord getTotalTime () const
 Return the duration for which this timer has been running.
 

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 79 of file Timer.h.

Constructor & Destructor Documentation

◆ Timer() [1/4]

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

Definition at line 91 of file Timer.h.

References init().

◆ Timer() [2/4]

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

Definition at line 94 of file Timer.h.

References init().

◆ Timer() [3/4]

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

Definition at line 97 of file Timer.h.

References assert(), and RHS.

◆ ~Timer()

Timer::~Timer ( )

Definition at line 146 of file Timer.cpp.

◆ Timer() [4/4]

llvm::Timer::Timer ( )
explicitdefault

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

Member Function Documentation

◆ clear()

void Timer::clear ( )

Clear the timer state.

Definition at line 205 of file Timer.cpp.

Referenced by llvm::DebuginfodCollection::update().

◆ getDescription()

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

Definition at line 112 of file Timer.h.

◆ getName()

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

Definition at line 111 of file Timer.h.

Referenced by startTimer(), and stopTimer().

◆ getTotalTime()

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

Return the duration for which this timer has been running.

Definition at line 133 of file Timer.h.

◆ hasTriggered()

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

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

Definition at line 119 of file Timer.h.

◆ init() [1/2]

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

Definition at line 132 of file Timer.cpp.

References getDefaultTimerGroup(), and init().

Referenced by init(), and 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 113 of file Timer.h.

◆ isRunning()

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

Check if the timer is currently running.

Definition at line 116 of file Timer.h.

Referenced by llvm::DebuginfodCollection::update().

◆ operator=()

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

Definition at line 100 of file Timer.h.

References assert().

◆ 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::TableGenMain(), and llvm::DebuginfodCollection::update().

◆ stopTimer()

void Timer::stopTimer ( )

Stop the timer.

Definition at line 197 of file Timer.cpp.

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

Referenced by llvm::TableGenMain(), and llvm::DebuginfodCollection::update().

Friends And Related Function Documentation

◆ TimerGroup

friend class TimerGroup
friend

Definition at line 136 of file Timer.h.


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