16#if __has_include(<sys/resource.h>)
17# include <sys/resource.h>
25 double user_time_in_seconds{};
26 double system_time_in_seconds{};
28 void operator-=(
double const diff)
noexcept
30 user_time_in_seconds -= diff;
33 [[nodiscard]]
double cpu_usage_in_percent(
double const elapsed_time_in_seconds,
34 uint8_t
const threads)
const noexcept
37 assert(elapsed_time_in_seconds > 0.0);
39 100.0 * (user_time_in_seconds + system_time_in_seconds) / elapsed_time_in_seconds);
42 [[nodiscard]]
bool is_valid()
const noexcept
44 return (user_time_in_seconds + system_time_in_seconds) >= 0.0;
48#if __has_include(<sys/resource.h>)
54 if (getrusage(RUSAGE_SELF, &usage) != 0)
66[[nodiscard]]
inline cpu_time_t get_cpu_time()
68 return cpu_time_t{-1.0, -1.0};
Definition cpu_time.hpp:24