16#include "Gaudi/Property.h"
36 return StatusCode::SUCCESS;
45 volatile double test_result = 0.0;
50 ATH_MSG_DEBUG (
"Will burn CPU for " << ms_interval <<
" milliseconds ..." );
53 std::chrono::duration<float, std::milli> chrono_interval(ms_interval);
55 auto start = std::chrono::system_clock::now();
57 while (std::chrono::system_clock::now() - start < chrono_interval)
58 test_result +=
burn(5000);
62 return StatusCode::SUCCESS;
68 volatile double sum = 0.0;
72 for(
auto idx = 0lu; idx < nIterations; ++idx) {
73 val = (double) (idx + 1) / nIterations * 0.7854;
74 sum += std::tan(std::log(val));
virtual StatusCode execute() override
Gaudi::Property< float > m_rmsCpuTime
Property to setup the RMS (in ms) of CPU time to consume.
double burn(unsigned long nIterations)
std::default_random_engine m_random
Random number setup.
std::normal_distribution< double > m_distribution
Gaudi::Property< float > m_meanCpuTime
Property to setup the mean (in ms) of CPU time to consume.
virtual StatusCode initialize() override
PerfMonTestPolyVectorAlg.h Example for the memory optimization tutorial.