CMS 3D CMS Logo

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

Public Member Functions

 AtomicResources ()
 
 AtomicResources (AtomicResources const &other)
 
AtomicResources operator+ (AtomicResources const &other) const
 
AtomicResourcesoperator+= (AtomicResources const &other)
 
AtomicResourcesoperator= (AtomicResources const &other)
 
void reset ()
 

Public Attributes

std::atomic< uint64_t > allocated
 
std::atomic< uint64_t > deallocated
 
std::atomic< boost::chrono::nanoseconds::rep > time_real
 
std::atomic< boost::chrono::nanoseconds::rep > time_thread
 

Detailed Description

Definition at line 240 of file FastTimerService.h.

Constructor & Destructor Documentation

FastTimerService::AtomicResources::AtomicResources ( )

Definition at line 107 of file FastTimerService.cc.

107  :
108  time_thread(0ul),
109  time_real(0ul),
110  allocated(0ul),
111  deallocated(0ul)
112 { }
std::atomic< uint64_t > deallocated
std::atomic< uint64_t > allocated
std::atomic< boost::chrono::nanoseconds::rep > time_thread
std::atomic< boost::chrono::nanoseconds::rep > time_real
FastTimerService::AtomicResources::AtomicResources ( AtomicResources const &  other)

Definition at line 114 of file FastTimerService.cc.

114  :
115  time_thread(other.time_thread.load()),
116  time_real(other.time_real.load()),
117  allocated(other.allocated.load()),
118  deallocated(other.deallocated.load())
119 { }
std::atomic< uint64_t > deallocated
std::atomic< uint64_t > allocated
std::atomic< boost::chrono::nanoseconds::rep > time_thread
std::atomic< boost::chrono::nanoseconds::rep > time_real

Member Function Documentation

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

Definition at line 148 of file FastTimerService.cc.

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

148  {
149  AtomicResources result(*this);
150  result += other;
151  return result;
152 }
FastTimerService::AtomicResources & FastTimerService::AtomicResources::operator+= ( AtomicResources const &  other)

Definition at line 139 of file FastTimerService.cc.

References allocated, deallocated, time_real, and time_thread.

139  {
140  time_thread += other.time_thread.load();
141  time_real += other.time_real.load();
142  allocated += other.allocated.load();
143  deallocated += other.deallocated.load();
144  return *this;
145 }
std::atomic< uint64_t > deallocated
std::atomic< uint64_t > allocated
std::atomic< boost::chrono::nanoseconds::rep > time_thread
std::atomic< boost::chrono::nanoseconds::rep > time_real
FastTimerService::AtomicResources & FastTimerService::AtomicResources::operator= ( AtomicResources const &  other)

Definition at line 130 of file FastTimerService.cc.

References allocated, deallocated, time_real, and time_thread.

130  {
131  time_thread = other.time_thread.load();
132  time_real = other.time_real.load();
133  allocated = other.allocated.load();
134  deallocated = other.deallocated.load();
135  return *this;
136 }
std::atomic< uint64_t > deallocated
std::atomic< uint64_t > allocated
std::atomic< boost::chrono::nanoseconds::rep > time_thread
std::atomic< boost::chrono::nanoseconds::rep > time_real
void FastTimerService::AtomicResources::reset ( void  )

Definition at line 122 of file FastTimerService.cc.

References allocated, deallocated, time_real, and time_thread.

Referenced by FastTimerService::ResourcesPerJob::reset().

122  {
123  time_thread = 0ul;
124  time_real = 0ul;
125  allocated = 0ul;
126  deallocated = 0ul;
127 }
std::atomic< uint64_t > deallocated
std::atomic< uint64_t > allocated
std::atomic< boost::chrono::nanoseconds::rep > time_thread
std::atomic< boost::chrono::nanoseconds::rep > time_real

Member Data Documentation

std::atomic<uint64_t> FastTimerService::AtomicResources::allocated
std::atomic<uint64_t> FastTimerService::AtomicResources::deallocated
std::atomic<boost::chrono::nanoseconds::rep> FastTimerService::AtomicResources::time_real
std::atomic<boost::chrono::nanoseconds::rep> FastTimerService::AtomicResources::time_thread