14 virtual void start() {}
18 void wallDump()
const;
22 void dump(
const std::string &msg =
"")
const;
24 void dump(
double& wall,
double& cpu)
const;
26 std::string getProfilerFilter()
const;
27 inline void setProfilerFilter(
const ProfileFilter &filter) { this->m_profilerFilter = filter; }
29 Profiler(
const ProfileFilter &filter = PROFILE_ALL) :
30 m_profilerFilter(filter) {
33 virtual ~Profiler() =
default;
36 ProfileFilter m_profilerFilter{PROFILE_ALL};
65class LinuxProfiler :
public Profiler {
67 LinuxProfiler(
const ProfileFilter &filter = PROFILE_ALL) :
71 virtual ~LinuxProfiler()
override =
default;
73 void start()
override;
76 inline double getLastWall()
const {
return this->m_wall; }
77 inline double getLastCPU()
const {
return this->m_cpu; }
80 std::timespec m_wallBegin{};
81 std::timespec m_wallEnd{};
82 std::timespec m_cpuBegin{};
83 std::timespec m_cpuEnd{};