1*8975f5c5SAndroid Build Coastguard Worker // 2*8975f5c5SAndroid Build Coastguard Worker // Copyright 2019 The ANGLE Project Authors. All rights reserved. 3*8975f5c5SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 4*8975f5c5SAndroid Build Coastguard Worker // found in the LICENSE file. 5*8975f5c5SAndroid Build Coastguard Worker // 6*8975f5c5SAndroid Build Coastguard Worker 7*8975f5c5SAndroid Build Coastguard Worker #ifndef SAMPLE_UTIL_TIMER_H 8*8975f5c5SAndroid Build Coastguard Worker #define SAMPLE_UTIL_TIMER_H 9*8975f5c5SAndroid Build Coastguard Worker 10*8975f5c5SAndroid Build Coastguard Worker class Timer final 11*8975f5c5SAndroid Build Coastguard Worker { 12*8975f5c5SAndroid Build Coastguard Worker public: 13*8975f5c5SAndroid Build Coastguard Worker Timer(); ~Timer()14*8975f5c5SAndroid Build Coastguard Worker ~Timer() {} 15*8975f5c5SAndroid Build Coastguard Worker 16*8975f5c5SAndroid Build Coastguard Worker // Use start() and stop() to record the duration and use getElapsedWallClockTime() to query that 17*8975f5c5SAndroid Build Coastguard Worker // duration. If getElapsedWallClockTime() is called in between, it will report the elapsed time 18*8975f5c5SAndroid Build Coastguard Worker // since start(). 19*8975f5c5SAndroid Build Coastguard Worker void start(); 20*8975f5c5SAndroid Build Coastguard Worker void stop(); 21*8975f5c5SAndroid Build Coastguard Worker double getElapsedWallClockTime() const; 22*8975f5c5SAndroid Build Coastguard Worker double getElapsedCpuTime() const; 23*8975f5c5SAndroid Build Coastguard Worker 24*8975f5c5SAndroid Build Coastguard Worker private: 25*8975f5c5SAndroid Build Coastguard Worker bool mRunning; 26*8975f5c5SAndroid Build Coastguard Worker double mStartTime; 27*8975f5c5SAndroid Build Coastguard Worker double mStopTime; 28*8975f5c5SAndroid Build Coastguard Worker double mStartCpuTime; 29*8975f5c5SAndroid Build Coastguard Worker double mStopCpuTime; 30*8975f5c5SAndroid Build Coastguard Worker }; 31*8975f5c5SAndroid Build Coastguard Worker 32*8975f5c5SAndroid Build Coastguard Worker #endif // SAMPLE_UTIL_TIMER_H 33