diff --git a/CHANGELOG.md b/CHANGELOG.md index 86c212e330bb8d5c80e7298a58d8d8a7192e923d..4caa742938733ba61e13228e792cba44dd6bb453 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ v5.0.0 - Significant overhaul of CMake infrastructure (!770, !804) - Fix ThridpartyCCM options (!802) - Fix Windows CRLF tokens in GEO reader and improve comment handling (!805) +- Use chrono in Timer (!807) **NekMesh**: - Add feature to read basic 2D geo files as CAD (!731) diff --git a/cmake/ThirdPartyBoost.cmake b/cmake/ThirdPartyBoost.cmake index b48795ab402d3e22a3618c58a01a55bed280360a..98b2b9bcbe5b6e048d6c5d6be27de471dfae78be 100644 --- a/cmake/ThirdPartyBoost.cmake +++ b/cmake/ThirdPartyBoost.cmake @@ -10,7 +10,7 @@ MESSAGE(STATUS "Searching for Boost:") SET(MIN_VER "1.56.0") SET(NEEDED_BOOST_LIBS thread iostreams date_time filesystem system - program_options regex timer chrono) + program_options regex) SET(Boost_DEBUG 0) SET(Boost_NO_BOOST_CMAKE ON) IF( BOOST_ROOT ) diff --git a/library/Collections/CollectionOptimisation.cpp b/library/Collections/CollectionOptimisation.cpp index ac2637685a586671d5efaf5c1392ffaba0bbb8b6..53f9930b6fe0aacfa96c74e003f6e06f87f177ea 100644 --- a/library/Collections/CollectionOptimisation.cpp +++ b/library/Collections/CollectionOptimisation.cpp @@ -347,7 +347,7 @@ OperatorImpMap CollectionOptimisation::SetWithTimings( Array<OneD, NekDouble> outarray2(maxsize); Array<OneD, NekDouble> outarray3(maxsize); - Timer t; + LibUtilities::Timer t; if(verbose) { diff --git a/library/Demos/Collections/CollectionTiming.cpp b/library/Demos/Collections/CollectionTiming.cpp index 3877041bf08824ce9149241f55b61912c40cf4e7..4a1a4b2a5870d899140583ab185288be5775cda8 100644 --- a/library/Demos/Collections/CollectionTiming.cpp +++ b/library/Demos/Collections/CollectionTiming.cpp @@ -37,10 +37,9 @@ #include <cstdlib> #include <iomanip> -#include <boost/timer/timer.hpp> - #include <LibUtilities/Memory/NekMemoryManager.hpp> #include <LibUtilities/BasicUtils/SessionReader.h> +#include <LibUtilities/BasicUtils/Timer.h> #include <LibUtilities/Communication/Comm.h> #include <MultiRegions/ExpList3D.h> #include <Collections/Collection.h> @@ -49,11 +48,6 @@ using namespace std; using namespace Nektar; -using boost::timer::cpu_timer; -using boost::timer::cpu_times; -using boost::timer::nanosecond_type; -using boost::timer::format; - MultiRegions::ExpListSharedPtr SetupExpList( int N, LibUtilities::SessionReaderSharedPtr session, @@ -71,33 +65,21 @@ MultiRegions::ExpListSharedPtr SetupExpList( return expList; } -void printOutput(int N, int Ntest, cpu_timer &timer, bool fmt) +void printOutput(int N, int Ntest, LibUtilities::Timer &timer, bool fmt) { - cpu_times times = timer.elapsed(); - nanosecond_type total = times.user + times.system; - - const double sec = 1000000000.0L; - - // Normalize timings - double wall_sec = times.wall / sec; - double total_sec = total / sec; - - wall_sec /= Ntest; - total_sec /= Ntest; + // Get timings + NekDouble total_sec = timer.TimePerTest(Ntest); if (fmt) { cout << setw(6) << N-1 - << setw(18) << wall_sec << setw(18) << total_sec << endl; } else { cout << "P = " << N-1 << ": " - << wall_sec << " (wall) " - << total_sec << " (total), " - << (100.0 * total_sec / wall_sec) << "% CPU" + << total_sec << " s, " << endl; } } @@ -113,7 +95,7 @@ int main(int argc, char *argv[]) MultiRegions::ExpListSharedPtr expList; - cpu_timer timer; + LibUtilities::Timer timer; int Ntest, maxOrder; session->LoadParameter("Ntest", Ntest, 1000); @@ -141,12 +123,12 @@ int main(int argc, char *argv[]) Array<OneD, NekDouble> input (expList->GetNcoeffs()); Array<OneD, NekDouble> output(expList->GetNpoints()); - timer.start(); + timer.Start(); for (int i = 0; i < Ntest; ++i) { expList->BwdTrans(input, output); } - timer.stop(); + timer.Stop(); printOutput(N, Ntest, timer, fmt); } @@ -158,12 +140,12 @@ int main(int argc, char *argv[]) Array<OneD, NekDouble> input (expList->GetNpoints()); Array<OneD, NekDouble> output(expList->GetNcoeffs()); - timer.start(); + timer.Start(); for (int i = 0; i < Ntest; ++i) { expList->IProductWRTBase(input, output); } - timer.stop(); + timer.Stop(); printOutput(N, Ntest, timer, fmt); } @@ -181,12 +163,12 @@ int main(int argc, char *argv[]) input[i] = Array<OneD, NekDouble>(expList->GetNpoints()); } - timer.start(); + timer.Start(); for (int i = 0; i < Ntest; ++i) { expList->IProductWRTDerivBase(input, output); } - timer.stop(); + timer.Stop(); printOutput(N, Ntest, timer, fmt); } @@ -200,12 +182,12 @@ int main(int argc, char *argv[]) Array<OneD, NekDouble> output1(expList->GetNpoints()); Array<OneD, NekDouble> output2(expList->GetNpoints()); - timer.start(); + timer.Start(); for (int i = 0; i < Ntest; ++i) { expList->PhysDeriv(input, output0, output1, output2); } - timer.stop(); + timer.Stop(); printOutput(N, Ntest, timer, fmt); } diff --git a/library/FieldUtils/InputModules/InputXml.cpp b/library/FieldUtils/InputModules/InputXml.cpp index 974cece54056e9b6fa69663ae27dd6e39f76e2b0..35e86446dc62aa22d166cee506a7df2b2d250061 100644 --- a/library/FieldUtils/InputModules/InputXml.cpp +++ b/library/FieldUtils/InputModules/InputXml.cpp @@ -77,7 +77,7 @@ InputXml::~InputXml() */ void InputXml::Process(po::variables_map &vm) { - Timer timerpart; + LibUtilities::Timer timerpart; if (m_f->m_verbose) { if (m_f->m_comm->TreatAsRankZero()) diff --git a/library/FieldUtils/Module.h b/library/FieldUtils/Module.h index da8399e0bc710ca27ea0664dddbf60434a14afca..3249cf9b00cca511a00e45e6c713c001ccc2ec3c 100644 --- a/library/FieldUtils/Module.h +++ b/library/FieldUtils/Module.h @@ -45,7 +45,6 @@ #include <vector> #include <LibUtilities/BasicUtils/NekFactory.hpp> -#include <LibUtilities/BasicUtils/Timer.h> #include <LibUtilities/Communication/CommSerial.h> #include <StdRegions/StdNodalTriExp.h> diff --git a/library/FieldUtils/ProcessModules/ProcessCreateExp.cpp b/library/FieldUtils/ProcessModules/ProcessCreateExp.cpp index 14c8c667e1cada261cb2efe1d6663358467ac93c..7750b2932f7e332703e46340c4eae22e34492d2c 100644 --- a/library/FieldUtils/ProcessModules/ProcessCreateExp.cpp +++ b/library/FieldUtils/ProcessModules/ProcessCreateExp.cpp @@ -67,7 +67,7 @@ void ProcessCreateExp::Process(po::variables_map &vm) if(m_f->m_graph) { int i, j; - Timer timerpart; + LibUtilities::Timer timerpart; if (m_f->m_verbose) { if (m_f->m_comm->TreatAsRankZero()) diff --git a/library/FieldUtils/ProcessModules/ProcessIsoContour.cpp b/library/FieldUtils/ProcessModules/ProcessIsoContour.cpp index 7cc0d4a57a6a030ec427de275102d868ac35e23e..4433ad707e9de154edb8c852c37a88fbd64fdb69 100644 --- a/library/FieldUtils/ProcessModules/ProcessIsoContour.cpp +++ b/library/FieldUtils/ProcessModules/ProcessIsoContour.cpp @@ -43,6 +43,7 @@ #include "ProcessIsoContour.h" #include <LibUtilities/BasicUtils/SharedArray.hpp> +#include <LibUtilities/BasicUtils/Timer.h> #include <LibUtilities/BasicUtils/ParseUtils.hpp> #include <LibUtilities/BasicUtils/Progressbar.hpp> #include <boost/math/special_functions/fpclassify.hpp> @@ -217,7 +218,7 @@ void ProcessIsoContour::Process(po::variables_map &vm) if(smoothing) { - Timer timersm; + LibUtilities::Timer timersm; if(verbose) { diff --git a/library/LibUtilities/BasicUtils/Timer.cpp b/library/LibUtilities/BasicUtils/Timer.cpp index 5aa52f5af1e324172752fbf30ce4bc449339387d..221ea41041a55dfce59f25aa8e0fc2f10f1f8c40 100644 --- a/library/LibUtilities/BasicUtils/Timer.cpp +++ b/library/LibUtilities/BasicUtils/Timer.cpp @@ -37,91 +37,28 @@ namespace Nektar { - Timer::Timer() : - m_start(), - m_end(), - m_resolution() - { - } - - Timer::~Timer() - { - } - - void Timer::Start() - { - #ifdef _WIN32 - QueryPerformanceCounter(&m_start); - #elif defined(__APPLE__) - gettimeofday(&m_start, 0); - #else - clock_gettime(CLOCK_REALTIME, &m_start); - #endif - } - - void Timer::Stop() - { - #ifdef _WIN32 - QueryPerformanceCounter(&m_end); - #elif defined(__APPLE__) - gettimeofday(&m_end, 0); - #else - clock_gettime(CLOCK_REALTIME, &m_end); - #endif - } +namespace LibUtilities +{ - Timer::CounterType Timer::Elapsed() - { - #ifdef _WIN32 - CounterType result; - result.QuadPart = m_end.QuadPart - m_start.QuadPart; - return result; - #elif defined(__APPLE__) - CounterType result = m_end; - - if( result.tv_usec < m_start.tv_usec) - { - result.tv_sec -= 1; - result.tv_usec += 1000000; - } - - result.tv_sec -= m_start.tv_sec; - result.tv_usec -= m_start.tv_usec; - - return result; - #else - CounterType result = m_end; +void Timer::Start() +{ + m_start = Clock::now(); +} - if( result.tv_nsec < m_start.tv_nsec) - { - result.tv_sec -= 1; - result.tv_nsec += 1000000000; - } - - result.tv_sec -= m_start.tv_sec; - result.tv_nsec -= m_start.tv_nsec; +void Timer::Stop() +{ + m_end = Clock::now(); +} - return result; - #endif - } +Timer::Seconds Timer::Elapsed() +{ + return std::chrono::duration_cast<Seconds>(m_end - m_start); +} - NekDouble Timer::TimePerTest(unsigned int n) - { - #ifdef _WIN32 - CounterType frequency; - QueryPerformanceFrequency(&frequency); - return Elapsed().QuadPart/static_cast<NekDouble>(n) * 1.0/frequency.QuadPart; - #elif defined(__APPLE__) - CounterType elapsed = Elapsed(); - NekDouble result = elapsed.tv_sec/static_cast<NekDouble>(n) + - ( elapsed.tv_usec/static_cast<NekDouble>(n) * 1.0e-6); - return result; - #else - CounterType elapsed = Elapsed(); - NekDouble result = elapsed.tv_sec/static_cast<NekDouble>(n) + - ( elapsed.tv_nsec/static_cast<NekDouble>(n) * 1.0e-9); - return result; - #endif - } +NekDouble Timer::TimePerTest(unsigned int n) +{ + return Elapsed().count() / static_cast<NekDouble>(n); +} -} +} +} diff --git a/library/LibUtilities/BasicUtils/Timer.h b/library/LibUtilities/BasicUtils/Timer.h index 8991ab0126d410ed8bfcb3686a7d5546c02978e9..d7c5984b238051fe16265dac8a16ff04dbbb2f51 100644 --- a/library/LibUtilities/BasicUtils/Timer.h +++ b/library/LibUtilities/BasicUtils/Timer.h @@ -37,50 +37,44 @@ #ifndef NEKTAR_LIB_UTILITIES_BASIC_UTILS_TIMER_H #define NEKTAR_LIB_UTILITIES_BASIC_UTILS_TIMER_H -#ifdef _WIN32 -#define NOMINMAX -#include <windows.h> -#else -#include <sys/time.h> -#include <time.h> -#endif +#include <chrono> #include <LibUtilities/LibUtilitiesDeclspec.h> #include <LibUtilities/BasicConst/NektarUnivConsts.hpp> namespace Nektar { - class Timer - { - public: - #ifdef _WIN32 - typedef LARGE_INTEGER CounterType; - #elif defined(__APPLE__) - typedef timeval CounterType; - #else - typedef timespec CounterType; - #endif +namespace LibUtilities +{ + +class Timer +{ + public: + using Clock = std::chrono::steady_clock; + using CounterType = Clock::time_point; + using Seconds = std::chrono::duration<NekDouble>; - public: - LIB_UTILITIES_EXPORT Timer(); - LIB_UTILITIES_EXPORT ~Timer(); + public: + LIB_UTILITIES_EXPORT Timer() = default; + LIB_UTILITIES_EXPORT ~Timer() = default; - LIB_UTILITIES_EXPORT void Start(); - LIB_UTILITIES_EXPORT void Stop(); - LIB_UTILITIES_EXPORT CounterType Elapsed(); + Timer(const Timer& rhs) = delete; + Timer& operator=(const Timer& rhs) = delete; - /// \brief Returns amount of seconds per iteration in - /// a test with n iterations. - LIB_UTILITIES_EXPORT NekDouble TimePerTest(unsigned int n); + LIB_UTILITIES_EXPORT void Start(); + LIB_UTILITIES_EXPORT void Stop(); + LIB_UTILITIES_EXPORT Seconds Elapsed(); - private: - Timer(const Timer& rhs); - Timer& operator=(const Timer& rhs); + /// \brief Returns amount of seconds per iteration in + /// a test with n iterations. + LIB_UTILITIES_EXPORT NekDouble TimePerTest(unsigned int n); - CounterType m_start; - CounterType m_end; - CounterType m_resolution; - }; + private: + CounterType m_start; + CounterType m_end; +}; + +} } #endif //NEKTAR_LIB_UTILITIES_BASIC_UTILS_TIMER_H diff --git a/library/MultiRegions/GlobalLinSysIterativeStaticCond.cpp b/library/MultiRegions/GlobalLinSysIterativeStaticCond.cpp index d2a77f29ee7d3d91cd9c2997bcb3506a68a7d2ad..56b5a4bfeff11273dea6fb7d8d98448beeca10de 100644 --- a/library/MultiRegions/GlobalLinSysIterativeStaticCond.cpp +++ b/library/MultiRegions/GlobalLinSysIterativeStaticCond.cpp @@ -35,7 +35,6 @@ /////////////////////////////////////////////////////////////////////////////// #include <MultiRegions/GlobalLinSysIterativeStaticCond.h> -#include <LibUtilities/BasicUtils/Timer.h> #include <LibUtilities/BasicUtils/ErrorUtil.hpp> #include <LibUtilities/LinearAlgebra/StorageSmvBsr.hpp> #include <LibUtilities/LinearAlgebra/SparseDiagBlkMatrix.hpp> diff --git a/library/MultiRegions/GlobalLinSysStaticCond.cpp b/library/MultiRegions/GlobalLinSysStaticCond.cpp index 223234bef38382693aa3d7bf909d458b502a2227..77eb00e210ac45da687fbdb7c4c782bbdda37481 100644 --- a/library/MultiRegions/GlobalLinSysStaticCond.cpp +++ b/library/MultiRegions/GlobalLinSysStaticCond.cpp @@ -35,7 +35,6 @@ /////////////////////////////////////////////////////////////////////////////// #include <MultiRegions/GlobalLinSysStaticCond.h> -#include <LibUtilities/BasicUtils/Timer.h> #include <LibUtilities/BasicUtils/ErrorUtil.hpp> #include <LibUtilities/LinearAlgebra/StorageSmvBsr.hpp> #include <LibUtilities/LinearAlgebra/SparseDiagBlkMatrix.hpp> diff --git a/library/MultiRegions/GlobalLinSysXxtStaticCond.cpp b/library/MultiRegions/GlobalLinSysXxtStaticCond.cpp index cc05ac96c04358b7c8b5e8e898300367023d24ad..9d95e16cd512c5f1b392ab7185b6784cb56850d7 100644 --- a/library/MultiRegions/GlobalLinSysXxtStaticCond.cpp +++ b/library/MultiRegions/GlobalLinSysXxtStaticCond.cpp @@ -36,7 +36,6 @@ #include <LibUtilities/Communication/Xxt.hpp> #include <LibUtilities/BasicUtils/VDmathArray.hpp> #include <MultiRegions/GlobalLinSysXxtStaticCond.h> -#include <LibUtilities/BasicUtils/Timer.h> using namespace std; diff --git a/library/SolverUtils/DriverSteadyState.h b/library/SolverUtils/DriverSteadyState.h index 99df4bd807b89a84453590e2851ee61c540036eb..2abfdca4f2de6250b81ab65adc1b20912b8f3591 100644 --- a/library/SolverUtils/DriverSteadyState.h +++ b/library/SolverUtils/DriverSteadyState.h @@ -126,7 +126,7 @@ private: int m_checksteps; int NumVar_SFD; - Timer timer; + LibUtilities::Timer timer; NekDouble cpuTime; NekDouble totalTime; NekDouble elapsed; diff --git a/library/SolverUtils/UnsteadySystem.cpp b/library/SolverUtils/UnsteadySystem.cpp index 63a0b19fcb00ab76cfd114a4e8cb0ab392ec3955..d0551f41760f2e39ca0344b557e0da15fb0adea5 100644 --- a/library/SolverUtils/UnsteadySystem.cpp +++ b/library/SolverUtils/UnsteadySystem.cpp @@ -249,7 +249,7 @@ namespace Nektar "Only one of IO_CheckTime and IO_CheckSteps " "should be set!"); - Timer timer; + LibUtilities::Timer timer; bool doCheckTime = false; int step = m_initialStep; NekDouble intTime = 0.0; diff --git a/library/Timings/TimingCGHelmSolve2D.cpp b/library/Timings/TimingCGHelmSolve2D.cpp index 7889c44450f68f09bf374fa9bf6b5de3ae4e5d92..f274af9e478e4f4017d23b5a194d66e0a611a54f 100644 --- a/library/Timings/TimingCGHelmSolve2D.cpp +++ b/library/Timings/TimingCGHelmSolve2D.cpp @@ -20,7 +20,7 @@ int main(int argc, char *argv[]) NekDouble lambda; vector<string> vFilenames; //defining timing variables - Timer timer; + LibUtilities::Timer timer; NekDouble exeTime, fullTime, ppTime = 0.0; if(argc < 6)//< allows to parse "verbose" option diff --git a/library/Timings/TimingCGHelmSolve3D.cpp b/library/Timings/TimingCGHelmSolve3D.cpp index 188179e7b9c4757f1eb4162a35be91a0b5597785..a548aafc1e1efa685f195136604af8b6abb5641c 100644 --- a/library/Timings/TimingCGHelmSolve3D.cpp +++ b/library/Timings/TimingCGHelmSolve3D.cpp @@ -20,7 +20,7 @@ int main(int argc, char *argv[]) NekDouble lambda; vector<string> vFilenames; //defining timing variables - Timer timer; + LibUtilities::Timer timer; NekDouble exeTime, fullTime, ppTime = 0.0; if(argc < 6)//< is added to be able to submit "verbose" option diff --git a/library/Timings/TimingHDGHelmSolve2D.cpp b/library/Timings/TimingHDGHelmSolve2D.cpp index 4f2e52bde1ca143d22be673dffa67903e17f3fb3..ae85bdc55e7c0cd7ee6d41b17d8b050af79887b1 100644 --- a/library/Timings/TimingHDGHelmSolve2D.cpp +++ b/library/Timings/TimingHDGHelmSolve2D.cpp @@ -20,7 +20,7 @@ int main(int argc, char *argv[]) NekDouble lambda; vector<string> vFilenames; //defining timing variables - Timer timer; + LibUtilities::Timer timer; NekDouble exeTime, fullTime, ppTime; if(argc < 6)//< allows to parse "verbose" option diff --git a/library/Timings/TimingHDGHelmSolve3D.cpp b/library/Timings/TimingHDGHelmSolve3D.cpp index 6df21967f83f77f7e6f75044b1f14a513fde6c08..eab55cc701660c7156ba782290ca73cd5a4d4e44 100644 --- a/library/Timings/TimingHDGHelmSolve3D.cpp +++ b/library/Timings/TimingHDGHelmSolve3D.cpp @@ -20,7 +20,7 @@ int main(int argc, char *argv[]) NekDouble lambda; vector<string> vFilenames; //defining timing variables - Timer timer; + LibUtilities::Timer timer; NekDouble exeTime, fullTime, ppTime; if(argc < 6)//< is used to be able to submit "verbose" option diff --git a/solvers/IncNavierStokesSolver/EquationSystems/CoupledLinearNS.cpp b/solvers/IncNavierStokesSolver/EquationSystems/CoupledLinearNS.cpp index ed46541eafd7e705b3f380a20f4f2d64800bf68f..50c241722f3a4c255eb843df98b8952e10d91d1c 100644 --- a/solvers/IncNavierStokesSolver/EquationSystems/CoupledLinearNS.cpp +++ b/solvers/IncNavierStokesSolver/EquationSystems/CoupledLinearNS.cpp @@ -455,7 +455,7 @@ namespace Nektar ::AllocateSharedPtr(nsize_p_m1,nsize_p_m1,blkmatStorage); - Timer timer; + LibUtilities::Timer timer; timer.Start(); for(n = 0; n < nel; ++n) { @@ -1445,7 +1445,7 @@ namespace Nektar } case eSteadyNavierStokes: { - Timer Generaltimer; + LibUtilities::Timer Generaltimer; Generaltimer.Start(); int Check(0); @@ -1562,7 +1562,7 @@ namespace Nektar void CoupledLinearNS::SolveSteadyNavierStokes(void) { - Timer Newtontimer; + LibUtilities::Timer Newtontimer; Newtontimer.Start(); Array<OneD, Array<OneD, NekDouble> > RHS_Coeffs(m_velocity.num_elements()); diff --git a/solvers/PulseWaveSolver/EquationSystems/PulseWaveSystem.cpp b/solvers/PulseWaveSolver/EquationSystems/PulseWaveSystem.cpp index 770c6aa800a8835dd7356f02874b109827ce014d..b641aba351b265bc4e746353cc0825e49e6479ec 100755 --- a/solvers/PulseWaveSolver/EquationSystems/PulseWaveSystem.cpp +++ b/solvers/PulseWaveSolver/EquationSystems/PulseWaveSystem.cpp @@ -489,7 +489,7 @@ namespace Nektar // Time loop for(n = 0; n < m_steps; ++n) { - Timer timer; + LibUtilities::Timer timer; timer.Start(); fields = m_intScheme->TimeIntegrate(n,m_timestep,m_intSoln,m_ode); //cout<<"integration: "<<fields[0][fields[0].num_elements()-1]<<endl; diff --git a/utilities/FieldConvert/FieldConvert.cpp b/utilities/FieldConvert/FieldConvert.cpp index 55899a2f68a652f4adf68848781ea3b9d90d4296..d61957dac1b07d1adc8df093d84f3ef4bc9b8de9 100644 --- a/utilities/FieldConvert/FieldConvert.cpp +++ b/utilities/FieldConvert/FieldConvert.cpp @@ -36,6 +36,7 @@ #include <string> #include <boost/algorithm/string.hpp> #include <boost/program_options.hpp> +#include <LibUtilities/BasicUtils/Timer.h> #include <FieldUtils/Module.h> using namespace std; @@ -50,7 +51,7 @@ void RunModule(ModuleSharedPtr module, po::variables_map &vm, bool verbose); int main(int argc, char* argv[]) { - Timer timer; + LibUtilities::Timer timer; timer.Start(); po::options_description desc("Available options"); @@ -649,7 +650,7 @@ void PrintExecutionSequence(vector<ModuleSharedPtr> &modules) void RunModule(ModuleSharedPtr module, po::variables_map &vm, bool verbose) { - Timer moduleTimer; + LibUtilities::Timer moduleTimer; if(verbose) { moduleTimer.Start(); diff --git a/utilities/NekMesh/ProcessModules/ProcessVarOpti/ProcessVarOpti.cpp b/utilities/NekMesh/ProcessModules/ProcessVarOpti/ProcessVarOpti.cpp index 3fa776ffccef2a140ba6aef4c9114be957ac3b33..1ee6b1f1f51eeddd1548dc98b152dd32d44f7765 100644 --- a/utilities/NekMesh/ProcessModules/ProcessVarOpti/ProcessVarOpti.cpp +++ b/utilities/NekMesh/ProcessModules/ProcessVarOpti/ProcessVarOpti.cpp @@ -299,7 +299,7 @@ void ProcessVarOpti::Process() Thread::ThreadManagerSharedPtr tm = tms.CreateInstance(Thread::ThreadMaster::SessionJob, nThreads); - Timer t; + LibUtilities::Timer t; t.Start(); ofstream resFile;