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