QMCPACK
Timer.h
Go to the documentation of this file.
1 //////////////////////////////////////////////////////////////////////////////////////
2 // This file is distributed under the University of Illinois/NCSA Open Source License.
3 // See LICENSE file in top directory for details.
4 //
5 // Copyright (c) 2022 QMCPACK developers.
6 //
7 // File developed by: Jeongnim Kim, jeongnim.kim@gmail.com, University of Illinois at Urbana-Champaign
8 // Jeremy McMinnis, jmcminis@gmail.com, University of Illinois at Urbana-Champaign
9 //
10 // File created by: Jeongnim Kim, jeongnim.kim@gmail.com, University of Illinois at Urbana-Champaign
11 //////////////////////////////////////////////////////////////////////////////////////
12 
13 
14 /** @file Timer.h
15  * @brief Timer class
16  */
17 #ifndef QMCPLUSPLUS_TIMER_H
18 #define QMCPLUSPLUS_TIMER_H
19 
20 #include "Utilities/Clock.h"
21 
22 namespace qmcplusplus
23 {
24 struct Timer
25 {
26  using Clock = std::chrono::system_clock;
27  Clock::time_point start_time;
28  inline Timer() { start_time = Clock::now(); }
29  inline void restart() { start_time = Clock::now(); }
30  inline double elapsed() const
31  {
32  std::chrono::duration<double> elapsed = Clock::now() - start_time;
33  return elapsed.count();
34  }
35 };
36 } // namespace qmcplusplus
37 #endif
double elapsed() const
Definition: Timer.h:30
void restart()
Definition: Timer.h:29
helper functions for EinsplineSetBuilder
Definition: Configuration.h:43
Clock::time_point start_time
Definition: Timer.h:27
std::chrono::system_clock Clock
Definition: Timer.h:26