9 #include "sChronoManager.hh" 57 Cerr(
"***** sChronoManager::CheckParameters() -> Number of threads for projections is incorrectly set !" << endl);
62 Cerr(
"***** sChronoManager::CheckParameters() -> Number of threads for image computation is incorrectly set !" << endl);
68 Cerr(
"***** sChronoManager::CheckParameters() -> Number of custom steps is incorrectly set !" << endl);
74 Cerr(
"***** sChronoManager::CheckParameters() -> Verbose cannot be negative !" << endl);
117 for (
int th=0; th<m_nbThreadsMax; th++) mpp_durationCustomSteps[nb][th] = chrono::duration<int64_t,nano>::zero();
134 Cout(
"sChronoManager::Display() -> Results from the profiling" << endl);
152 Cout(
" --> Profiling of the data update step:" << endl);
153 Cout(
" | Datafile management: " << setfill(
'0' )
158 Cout(
" | Dynamic management: " << setfill(
'0' )
163 Cout(
" | Projection management: " << setfill(
'0' )
168 Cout(
" | Optimizer management: " << setfill(
'0' )
174 Cout(
" --> Profiling of the convolution steps: " << setfill(
'0' )
182 Cout(
" --> Custom update step " << nb+1 <<
": " << setfill(
'0' )
std::chrono::seconds Secs
int m_nbThreadsForImageComputation
int CheckParameters()
Check validity of all parameters.
std::chrono::time_point< std::chrono::system_clock > ChronoTime
ChronoTime ** mpp_startCustomSteps
sChronoManager()
The constructor of sChronoManager.
ChronoTime * mp_startIterativeDataUpdateStep2
DurationNano m_durationConvolution
static sChronoManager * mp_Instance
DurationNano * mp_durationIterativeDataUpdateStep1
DurationNano * mp_durationIterativeDataUpdateStep4
ChronoTime * mp_startIterativeDataUpdateStep1
ChronoTime * mp_startIterativeDataUpdateStep4
ChronoTime * mp_startIterativeDataUpdateStep3
int m_nbThreadsForProjection
DurationNano * mp_durationIterativeDataUpdateStep2
int Initialize()
Initialize all thread-safe buffers for profiling.
std::chrono::duration< int64_t, std::nano > DurationNano
DurationNano * mp_durationIterativeDataUpdateStep3
This class is designed to manage some profiling of the code.
std::chrono::minutes Mins
void Display()
Display the results of the duration buffers.
DurationNano ** mpp_durationCustomSteps