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))