diff --git a/FDTD/engine_multithread.cpp b/FDTD/engine_multithread.cpp
index 298ff77..e51cf25 100644
--- a/FDTD/engine_multithread.cpp
+++ b/FDTD/engine_multithread.cpp
@@ -15,6 +15,16 @@
* along with this program. If not, see .
*/
+//#define ENABLE_DEBUG_TIME
+
+#ifdef ENABLE_DEBUG_TIME
+ #define DEBUG_TIME(x) x;
+#else
+ #define DEBUG_TIME(x) ;
+#endif
+
+
+
#include "engine_multithread.h"
#include "tools/array_ops.h"
@@ -38,7 +48,7 @@ Engine_Multithread::Engine_Multithread(Operator* op) : Engine(op)
Engine_Multithread::~Engine_Multithread()
{
- //DEBUG
+#ifdef ENABLE_DEBUG_TIME
cout << "Engine_Multithread::~Engine_Multithread()" << endl;
std::map >::iterator it;
for (it=m_timer_list.begin(); it!=m_timer_list.end(); it++) {
@@ -52,7 +62,7 @@ Engine_Multithread::~Engine_Multithread()
std::cout << "after barrier3: " << fixed << setprecision(6) << *(it2++) << std::endl;
}
}
- //DEBUG
+#endif
}
@@ -98,7 +108,7 @@ bool Engine_Multithread::IterateTS(unsigned int iterTS)
//cout << "... threads started";
m_stopBarrier->wait(); // wait for the threads to finish time steps
- numTS = m_numTS_times_threads;
+ numTS = m_numTS_times_threads / m_numThreads;
return true;
}
@@ -128,7 +138,7 @@ void thread::operator()()
m_enginePtr->m_startBarrier->wait();
//cout << "Thread " << boost::this_thread::get_id() << " waiting... started." << endl;
- Timer timer1;
+ DEBUG_TIME( Timer timer1 );
for (unsigned int iter=0;iterm_iterTS;++iter)
{
@@ -159,13 +169,13 @@ void thread::operator()()
}
// record time
- m_enginePtr->m_timer_list[boost::this_thread::get_id()].push_back( timer1.elapsed() );
+ DEBUG_TIME( m_enginePtr->m_timer_list[boost::this_thread::get_id()].push_back( timer1.elapsed() ); )
//cout << "Thread " << boost::this_thread::get_id() << " m_barrier1 waiting..." << endl;
m_enginePtr->m_barrier1->wait();
// record time
- m_enginePtr->m_timer_list[boost::this_thread::get_id()].push_back( timer1.elapsed() );
+ DEBUG_TIME( m_enginePtr->m_timer_list[boost::this_thread::get_id()].push_back( timer1.elapsed() ); )
// e-field excitation (thread thread_e_excitation)
@@ -173,7 +183,7 @@ void thread::operator()()
// e_excitation finished
// record time
- m_enginePtr->m_timer_list[boost::this_thread::get_id()].push_back( timer1.elapsed() );
+ DEBUG_TIME( m_enginePtr->m_timer_list[boost::this_thread::get_id()].push_back( timer1.elapsed() ); )
//current updates
for (pos[0]=m_start;pos[0]<=m_stop-1;++pos[0])
@@ -199,12 +209,12 @@ void thread::operator()()
}
// record time
- m_enginePtr->m_timer_list[boost::this_thread::get_id()].push_back( timer1.elapsed() );
+ DEBUG_TIME( m_enginePtr->m_timer_list[boost::this_thread::get_id()].push_back( timer1.elapsed() ); )
m_enginePtr->m_barrier3->wait();
// record time
- m_enginePtr->m_timer_list[boost::this_thread::get_id()].push_back( timer1.elapsed() );
+ DEBUG_TIME( m_enginePtr->m_timer_list[boost::this_thread::get_id()].push_back( timer1.elapsed() ); )
//soft current excitation here (H-field excite)
diff --git a/FDTD/engine_multithread.h b/FDTD/engine_multithread.h
index 65f9959..e6abbb4 100644
--- a/FDTD/engine_multithread.h
+++ b/FDTD/engine_multithread.h
@@ -64,8 +64,9 @@ protected:
volatile unsigned int m_numTS_times_threads; //!< numTS times the number of worker threads
unsigned int m_numThreads; //!< number of worker threads
- //debug
+#ifdef ENABLE_DEBUG_TIME
std::map > m_timer_list;
+#endif
};