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. | |
PROF_TIMER () | |
Create a PROF_COUNTER for measuring an elapsed time in milliseconds. | |
void | Start () |
Start or restart the counter. | |
void | Stop () |
Save the time when this function was called, and set the counter stane to stop. | |
void | Show (std::ostream &aStream=std::cerr) |
Print the elapsed time (in a suitable unit) to a stream. | |
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 57 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 69 of file profile.h.
References Start().
|
inline |
aSinceLast | only get the time since the last time the time was read. |
Definition at line 149 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(), GetNodeCount(), SCH_EDIT_FRAME::RecalculateConnections(), KIGFX::VIEW::Redraw(), DRC_ENGINE::RunTests(), DATABASE_CONNECTION::selectAllAndCache(), PCB_SELECTION_TOOL::selectAllConnectedTracks(), and DATABASE_CONNECTION::SelectOne().
|
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 105 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(), PCB_TEST_FRAME_BASE::SetBoard(), SCH_SCREEN::TestDanglingEnds(), and CONNECTIVITY_DATA::updateRatsnest().
|
inline |
Definition at line 135 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 77 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 88 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(), GetNodeCount(), SCH_EDIT_FRAME::RecalculateConnections(), KIGFX::VIEW::Redraw(), SCH_EDIT_FRAME::RefreshNetNavigator(), DRC_ENGINE::RunTests(), DATABASE_CONNECTION::selectAllAndCache(), DATABASE_CONNECTION::SelectOne(), and SCH_SCREEN::TestDanglingEnds().
|
inline |
Definition at line 155 of file profile.h.
References m_name.
Referenced by EDA_DRAW_PANEL_GAL::DoRePaint(), KIGFX::GPU_CACHED_MANAGER::EndDrawing(), KIGFX::OPENGL_GAL::EndDrawing(), SCH_EDIT_FRAME::RefreshNetNavigator(), and PCB_TEST_FRAME_BASE::SetBoard().
|
private |
Definition at line 189 of file profile.h.
Referenced by SinceStart(), and Start().
|
private |
Definition at line 183 of file profile.h.
Referenced by Show(), and to_string().
|
private |
Definition at line 184 of file profile.h.
Referenced by SinceStart(), Start(), and Stop().
|
private |
Definition at line 189 of file profile.h.
Referenced by SinceStart(), and Start().
|
private |
Definition at line 189 of file profile.h.
Referenced by SinceStart(), and Stop().