mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-10-19 23:53:20 +00:00
26 lines
616 B
C++
26 lines
616 B
C++
![]() |
#include <LibGUI/GElapsedTimer.h>
|
||
|
|
||
|
void GElapsedTimer::start()
|
||
|
{
|
||
|
gettimeofday(&m_start_time, nullptr);
|
||
|
}
|
||
|
|
||
|
inline void timersub(const struct timeval* a, const struct timeval* b, struct timeval* result)
|
||
|
{
|
||
|
result->tv_sec = a->tv_sec - b->tv_sec;
|
||
|
result->tv_usec = a->tv_usec - b->tv_usec;
|
||
|
if (result->tv_usec < 0) {
|
||
|
--result->tv_sec;
|
||
|
result->tv_usec += 1000000;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
int GElapsedTimer::elapsed() const
|
||
|
{
|
||
|
struct timeval now;
|
||
|
gettimeofday(&now, nullptr);
|
||
|
struct timeval diff;
|
||
|
timersub(&now, &m_start_time, &diff);
|
||
|
return diff.tv_sec * 1000 + diff.tv_usec / 1000;
|
||
|
}
|