CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes
FastTimerService::ResourcesPerJob Struct Reference

Public Member Functions

ResourcesPerJob operator+ (ResourcesPerJob const &other) const
 
ResourcesPerJoboperator+= (ResourcesPerJob const &other)
 
void reset ()
 
 ResourcesPerJob ()=default
 
 ResourcesPerJob (ProcessCallGraph const &job, std::vector< GroupOfModules > const &groups)
 

Public Attributes

Resources event
 
Measurement event_measurement
 
unsigned events
 
std::vector< Resourceshighlight
 
std::vector< ResourcesPerModulemodules
 
AtomicResources overhead
 
std::vector< ResourcesPerProcessprocesses
 
Resources total
 

Detailed Description

Definition at line 287 of file FastTimerService.h.

Constructor & Destructor Documentation

FastTimerService::ResourcesPerJob::ResourcesPerJob ( )
default
FastTimerService::ResourcesPerJob::ResourcesPerJob ( ProcessCallGraph const &  job,
std::vector< GroupOfModules > const &  groups 
)

Definition at line 252 of file FastTimerService.cc.

References LaserDQM_cfg::process, ProcessCallGraph::processes(), and processes.

252  :
253  total(),
254  overhead(),
255  event(),
256  highlight(groups.size()),
257  modules(job.size()),
258  processes(),
259  events(0)
260 {
261  processes.reserve(job.processes().size());
262  for (auto const& process: job.processes())
263  processes.emplace_back(process);
264 }
std::vector< ResourcesPerModule > modules
std::vector< Resources > highlight
std::vector< ResourcesPerProcess > processes

Member Function Documentation

FastTimerService::ResourcesPerJob FastTimerService::ResourcesPerJob::operator+ ( ResourcesPerJob const &  other) const

Definition at line 299 of file FastTimerService.cc.

References trackingPlots::other, and mps_fire::result.

299  {
300  ResourcesPerJob result(*this);
301  result += other;
302  return result;
303 }
FastTimerService::ResourcesPerJob & FastTimerService::ResourcesPerJob::operator+= ( ResourcesPerJob const &  other)

Definition at line 281 of file FastTimerService.cc.

References event, events, highlight, mps_fire::i, modules, overhead, processes, and total.

281  {
282  total += other.total;
283  overhead += other.overhead;
284  event += other.event;
285  assert(highlight.size() == other.highlight.size());
286  for (unsigned int i: boost::irange(0ul, highlight.size()))
287  highlight[i] += other.highlight[i];
288  assert(modules.size() == other.modules.size());
289  for (unsigned int i: boost::irange(0ul, modules.size()))
290  modules[i] += other.modules[i];
291  assert(processes.size() == other.processes.size());
292  for (unsigned int i: boost::irange(0ul, processes.size()))
293  processes[i] += other.processes[i];
294  events += other.events;
295  return *this;
296 }
std::vector< Resources > highlight
std::vector< ResourcesPerProcess > processes
void FastTimerService::ResourcesPerJob::reset ( void  )

Definition at line 267 of file FastTimerService.cc.

References events, highlight, overhead, LaserDQM_cfg::process, processes, FastTimerService::Resources::reset(), FastTimerService::AtomicResources::reset(), and total.

267  {
268  total.reset();
269  overhead.reset();
270  event.reset();
271  for (auto & module: highlight)
272  module.reset();
273  for (auto & module: modules)
274  module.reset();
275  for (auto & process: processes)
276  process.reset();
277  events = 0;
278 }
std::vector< Resources > highlight
std::vector< ResourcesPerProcess > processes
Definition: vlib.h:208

Member Data Documentation

Resources FastTimerService::ResourcesPerJob::event
Measurement FastTimerService::ResourcesPerJob::event_measurement

Definition at line 299 of file FastTimerService.h.

unsigned FastTimerService::ResourcesPerJob::events
std::vector<Resources> FastTimerService::ResourcesPerJob::highlight
std::vector<ResourcesPerModule> FastTimerService::ResourcesPerJob::modules
AtomicResources FastTimerService::ResourcesPerJob::overhead

Definition at line 297 of file FastTimerService.h.

Referenced by FastTimerService::PlotsPerJob::fill(), operator+=(), and reset().

std::vector<ResourcesPerProcess> FastTimerService::ResourcesPerJob::processes
Resources FastTimerService::ResourcesPerJob::total