1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-07-22 17:18:39 +00:00

Add varying levels of precision to TimeTaker

This commit is contained in:
kwolekr 2013-03-29 16:51:57 -04:00
parent 5e7e0347cd
commit df49b93877
5 changed files with 108 additions and 17 deletions

View file

@ -23,19 +23,20 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "../log.h"
#include <ostream>
TimeTaker::TimeTaker(const char *name, u32 *result)
TimeTaker::TimeTaker(const char *name, u32 *result, TimePrecision prec)
{
m_name = name;
m_result = result;
m_running = true;
m_time1 = getTimeMs();
m_precision = prec;
m_time1 = getTime(prec);
}
u32 TimeTaker::stop(bool quiet)
{
if(m_running)
{
u32 time2 = getTimeMs();
u32 time2 = getTime(m_precision);
u32 dtime = time2 - m_time1;
if(m_result != NULL)
{
@ -52,9 +53,9 @@ u32 TimeTaker::stop(bool quiet)
return 0;
}
u32 TimeTaker::getTime()
u32 TimeTaker::getTimerTime()
{
u32 time2 = getTimeMs();
u32 time2 = getTime(m_precision);
u32 dtime = time2 - m_time1;
return dtime;
}

View file

@ -21,6 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#define UTIL_TIMETAKER_HEADER
#include "../irrlichttypes.h"
#include "../gettime.h"
/*
TimeTaker
@ -29,7 +30,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
class TimeTaker
{
public:
TimeTaker(const char *name, u32 *result=NULL);
TimeTaker(const char *name, u32 *result=NULL,
TimePrecision=PRECISION_MILLI);
~TimeTaker()
{
@ -38,12 +40,13 @@ public:
u32 stop(bool quiet=false);
u32 getTime();
u32 getTimerTime();
private:
const char *m_name;
u32 m_time1;
bool m_running;
TimePrecision m_precision;
u32 *m_result;
};