31 std::atomic<long long> totalSolveTime;
32 std::atomic<unsigned int> nbSolve;
34 std::atomic<long long> totalUpdateTime;
35 std::atomic<unsigned int> nbUpdate;
52 totalSolveTime(rhs.totalSolveTime.load()),
53 nbSolve(rhs.nbSolve.load()),
54 totalUpdateTime(rhs.totalUpdateTime.load()),
55 nbUpdate(rhs.nbUpdate.load())
65 totalSolveTime += other.totalSolveTime;
66 totalUpdateTime += other.totalUpdateTime;
67 nbSolve += other.nbSolve;
68 nbUpdate += other.nbUpdate;
71 void addUpdateTime(
long long updateTime)
73 totalUpdateTime += updateTime;
77 void addSolveTime(
long long solveTime)
79 totalSolveTime += solveTime;
83 unsigned int getNbUpdate()
const
88 long long getTotalSolveTime()
const
90 return totalSolveTime;
93 long long getTotalUpdateTime()
const
95 return totalUpdateTime;
98 double getAverageUpdateTime()
const
104 return ((
double)totalUpdateTime) / nbUpdate;
107 double getAverageSolveTime()
const
113 return ((
double)totalSolveTime) / nbSolve;
116 std::string toString()
const
118 return "Average solve time: " + std::to_string(std::lround(getAverageSolveTime())) +
" ms, "
119 +
"average update time: " + std::to_string(std::lround(getAverageUpdateTime()))