| // |
| // Copyright 2019 The ANGLE Project Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| // |
| |
| #ifndef SAMPLE_UTIL_TIMER_H |
| #define SAMPLE_UTIL_TIMER_H |
| |
| class Timer final |
| { |
| public: |
| Timer(); |
| ~Timer() {} |
| |
| // Use start() and stop() to record the duration and use getElapsedWallClockTime() to query that |
| // duration. If getElapsedWallClockTime() is called in between, it will report the elapsed time |
| // since start(). |
| void start(); |
| void stop(); |
| double getElapsedWallClockTime() const; |
| double getElapsedCpuTime() const; |
| |
| private: |
| bool mRunning; |
| double mStartTime; |
| double mStopTime; |
| double mStartCpuTime; |
| double mStopCpuTime; |
| }; |
| |
| #endif // SAMPLE_UTIL_TIMER_H |