11#ifndef PERFMONTESTS_PERFMONTESTCPUCRUNCHERALG_H
12#define PERFMONTESTS_PERFMONTESTCPUCRUNCHERALG_H
20#include "GaudiKernel/ServiceHandle.h"
35 virtual StatusCode
execute(
const EventContext& ctx)
override;
38 double burn(
unsigned long nIterations);
46 Gaudi::Property<float>
m_meanCpuTime{
this,
"MeanCpu", 100.,
"Mean (in ms) of CPU time to consume."};
49 Gaudi::Property<float>
m_rmsCpuTime{
this,
"RmsCpu", 5.,
"RMS (in ms) of CPU time to consume."};
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
virtual StatusCode execute(const EventContext &ctx) override
Execute method.
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
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
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.