12 #ifndef SST_CORE_CORE_PROFILE_H 
   13 #define SST_CORE_CORE_PROFILE_H 
   15 #include "sst/core/warnmacros.h" 
   23 #ifdef __SST_ENABLE_PROFILE__ 
   25 #if defined(__GNUC__) && (__GNUC__ == 4 && __GNUC_MINOR__ < 7) 
   26 #define CLOCK std::chrono::system_clock 
   28 #define CLOCK std::chrono::steady_clock 
   31 typedef CLOCK::time_point ProfData_t;
 
   40 getElapsed(
const ProfData_t& begin, 
const ProfData_t& end)
 
   42     std::chrono::duration<double> elapsed = (end - begin);
 
   43     return elapsed.count();
 
   47 getElapsed(
const ProfData_t& since)
 
   49     return getElapsed(since, now());
 
   53 typedef double ProfData_t;
 
   62 getElapsed(
const ProfData_t& UNUSED(begin), 
const ProfData_t& UNUSED(end))
 
   68 getElapsed(
const ProfData_t& UNUSED(since))
 
   79 #endif // SST_CORE_CORE_PROFILE_H