Definition at line 28 of file ConcurrentModuleTimer.cc.
Definition at line 63 of file ConcurrentModuleTimer.cc.
69 iReg.watchPreModuleEvent([
this](StreamContext
const&, ModuleCallingContext
const&){
72 iReg.watchPostModuleEvent([
this](StreamContext
const&, ModuleCallingContext
const&){
76 iReg.watchPreModuleEventDelayedGet([
this](StreamContext
const&, ModuleCallingContext
const& iContext){
81 iReg.watchPostModuleEventDelayedGet([
this](StreamContext
const&, ModuleCallingContext
const& iContext){
95 iReg.watchPreSourceEvent([
this](StreamID){
102 iReg.watchPostSourceEvent([
this](StreamID){
unsigned int maxNumberOfThreads() const
std::chrono::high_resolution_clock::time_point m_time
std::atomic< bool > m_spinLock
std::unique_ptr< std::atomic< std::chrono::high_resolution_clock::rep >[]> m_timeSums
ConcurrentModuleTimer::~ConcurrentModuleTimer |
( |
| ) |
|
void ConcurrentModuleTimer::start |
( |
void |
| ) |
|
|
private |
Definition at line 137 of file ConcurrentModuleTimer.cc.
References assert(), diffTreeTool::diff, i, m_nModules, m_spinLock, m_time, m_timeSums, and fileCollector::now.
Referenced by progressbar.ProgressBar::__next__().
140 std::chrono::high_resolution_clock::time_point oldTime;
141 bool expected =
false;
142 unsigned int nModules;
143 while (not
m_spinLock.compare_exchange_strong(expected,
true,std::memory_order_acq_rel)){
150 m_spinLock.store(
false,std::memory_order_release);
153 auto diff = newTime - oldTime;
154 for(
unsigned int i=0;
i<nModules;++
i) {
std::chrono::high_resolution_clock::time_point m_time
std::atomic< bool > m_spinLock
std::unique_ptr< std::atomic< std::chrono::high_resolution_clock::rep >[]> m_timeSums
void ConcurrentModuleTimer::stop |
( |
| ) |
|
|
private |
Definition at line 160 of file ConcurrentModuleTimer.cc.
References assert(), diffTreeTool::diff, i, m_nModules, m_spinLock, m_time, m_timeSums, and fileCollector::now.
163 std::chrono::high_resolution_clock::time_point oldTime;
164 bool expected =
false;
165 unsigned int nModules;
166 while (not
m_spinLock.compare_exchange_weak(expected,
true,std::memory_order_acq_rel)){
173 m_spinLock.store(
false,std::memory_order_release);
176 auto diff = newTime - oldTime;
177 for(
unsigned int i=0;
i<=nModules;++
i) {
std::chrono::high_resolution_clock::time_point m_time
std::atomic< bool > m_spinLock
std::unique_ptr< std::atomic< std::chrono::high_resolution_clock::rep >[]> m_timeSums
unsigned int edm::service::ConcurrentModuleTimer::m_nModules |
|
private |
unsigned int edm::service::ConcurrentModuleTimer::m_nTimeSums |
|
private |
std::atomic<bool> edm::service::ConcurrentModuleTimer::m_spinLock |
|
private |
bool edm::service::ConcurrentModuleTimer::m_startedTiming |
|
private |
std::chrono::high_resolution_clock::time_point edm::service::ConcurrentModuleTimer::m_time |
|
private |
std::unique_ptr<std::atomic<std::chrono::high_resolution_clock::rep>[]> edm::service::ConcurrentModuleTimer::m_timeSums |
|
private |