| // | |
| // 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 |