KiCad PCB EDA Suite
|
A small class to help profiling. More...
#include <profile.h>
Public Member Functions | |
PROF_TIMER (const std::string &aName, bool aAutostart=true) | |
Create a PROF_COUNTER for measuring an elapsed time in milliseconds. More... | |
PROF_TIMER () | |
Create a PROF_COUNTER for measuring an elapsed time in milliseconds. More... | |
void | Start () |
Start or restart the counter. More... | |
void | Stop () |
Save the time when this function was called, and set the counter stane to stop. More... | |
void | Show (std::ostream &aStream=std::cerr) |
Print the elapsed time (in a suitable unit) to a stream. More... | |
template<typename DURATION > | |
DURATION | SinceStart (bool aSinceLast=false) |
double | msecs (bool aSinceLast=false) |
std::string | to_string () |
Private Types | |
using | CLOCK = std::chrono::high_resolution_clock |
using | TIME_POINT = std::chrono::time_point< CLOCK > |
Private Attributes | |
std::string | m_name |
bool | m_running |
TIME_POINT | m_starttime |
TIME_POINT | m_lasttime |
TIME_POINT | m_stoptime |
A small class to help profiling.
It allows the calculation of the elapsed time (in milliseconds) between its creation (or the last call to Start() ) and the last call to Stop()
|
private |
|
private |
|
inline |
Create a PROF_COUNTER for measuring an elapsed time in milliseconds.
aName | a string that will be printed in message. |
aAutostart | true (default) to immediately start the timer |
Definition at line 55 of file profile.h.
References Start().
|
inline |
Create a PROF_COUNTER for measuring an elapsed time in milliseconds.
The counter is started and the string to print in message is left empty.
Definition at line 67 of file profile.h.
References Start().
|
inline |
aSinceLast | only get the time since the last time the time was read. |
Definition at line 147 of file profile.h.
Referenced by KIGFX::OPENGL_GAL::BeginDrawing(), KIGFX::CACHED_CONTAINER_GPU::defragmentResize(), KIGFX::CACHED_CONTAINER_RAM::defragmentResize(), KIGFX::CACHED_CONTAINER_GPU::defragmentResizeMemcpy(), KIGFX::GPU_NONCACHED_MANAGER::EndDrawing(), SCH_EDIT_FRAME::RecalculateConnections(), KIGFX::VIEW::Redraw(), DATABASE_CONNECTION::SelectAll(), PCB_SELECTION_TOOL::selectAllConnectedTracks(), DATABASE_CONNECTION::SelectOne(), and to_string().
|
inline |
Print the elapsed time (in a suitable unit) to a stream.
The unit is automatically chosen from ns, us, ms and s, depending on the size of the current count.
the | stream to print to. |
Definition at line 103 of file profile.h.
References m_name.
Referenced by CONNECTION_GRAPH::buildConnectionGraph(), RES_EQUIV_CALC::Calculate(), RN_NET::compute(), SCH_EDIT_FRAME::OpenProjectFiles(), CN_CONNECTIVITY_ALGO::searchConnections(), SCH_SCREEN::TestDanglingEnds(), and CONNECTIVITY_DATA::updateRatsnest().
|
inline |
Definition at line 133 of file profile.h.
References m_lasttime, m_running, m_starttime, and m_stoptime.
Referenced by parse(), and SCOPED_PROF_TIMER< DURATION >::~SCOPED_PROF_TIMER().
|
inline |
Start or restart the counter.
Definition at line 75 of file profile.h.
References m_lasttime, m_running, and m_starttime.
Referenced by EDA_DRAW_PANEL_GAL::DoRePaint(), KIGFX::OPENGL_GAL::EndDrawing(), PROF_TIMER(), and PCB_SELECTION_TOOL::selectAllConnectedTracks().
|
inline |
Save the time when this function was called, and set the counter stane to stop.
Definition at line 86 of file profile.h.
References m_running, and m_stoptime.
Referenced by KIGFX::OPENGL_GAL::BeginDrawing(), KIGFX::CACHED_CONTAINER_GPU::defragmentResize(), KIGFX::CACHED_CONTAINER_RAM::defragmentResize(), KIGFX::CACHED_CONTAINER_GPU::defragmentResizeMemcpy(), EDA_DRAW_PANEL_GAL::DoRePaint(), KIGFX::GPU_CACHED_MANAGER::EndDrawing(), KIGFX::GPU_NONCACHED_MANAGER::EndDrawing(), KIGFX::OPENGL_GAL::EndDrawing(), SCH_EDIT_FRAME::RecalculateConnections(), KIGFX::VIEW::Redraw(), DATABASE_CONNECTION::SelectAll(), DATABASE_CONNECTION::SelectOne(), and PCB_TEST_FRAME_BASE::SetBoard().
|
inline |
Definition at line 153 of file profile.h.
References m_name, and msecs().
Referenced by EDA_DRAW_PANEL_GAL::DoRePaint(), KIGFX::GPU_CACHED_MANAGER::EndDrawing(), KIGFX::OPENGL_GAL::EndDrawing(), and PCB_TEST_FRAME_BASE::SetBoard().
|
private |
Definition at line 167 of file profile.h.
Referenced by SinceStart(), and Start().
|
private |
Definition at line 161 of file profile.h.
Referenced by Show(), and to_string().
|
private |
Definition at line 162 of file profile.h.
Referenced by SinceStart(), Start(), and Stop().
|
private |
Definition at line 167 of file profile.h.
Referenced by SinceStart(), and Start().
|
private |
Definition at line 167 of file profile.h.
Referenced by SinceStart(), and Stop().