12#ifndef SST_CORE_CORE_PROFILE_H
13#define SST_CORE_CORE_PROFILE_H
15#include "sst/core/warnmacros.h"
19namespace SST::Core::Profile {
21#ifdef __SST_ENABLE_PROFILE__
23#if defined(__GNUC__) && (__GNUC__ == 4 && __GNUC_MINOR__ < 7)
24#define CLOCK std::chrono::system_clock
26#define CLOCK std::chrono::steady_clock
29using ProfData_t = CLOCK::time_point;
38getElapsed(
const ProfData_t& begin,
const ProfData_t& end)
40 std::chrono::duration<double> elapsed = (end - begin);
41 return elapsed.count();
45getElapsed(
const ProfData_t& since)
47 return getElapsed(since, now());
51using ProfData_t = double;
60getElapsed(
const ProfData_t& UNUSED(begin),
const ProfData_t& UNUSED(end))
66getElapsed(
const ProfData_t& UNUSED(since))