summaryrefslogtreecommitdiff
path: root/Libraries/LibCore/CElapsedTimer.cpp
blob: 4e8902d348961ec296f1c20f3e49ea75aed36e5b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <AK/Assertions.h>
#include <AK/Time.h>
#include <LibCore/CElapsedTimer.h>
#include <sys/time.h>

void CElapsedTimer::start()
{
    m_valid = true;
    gettimeofday(&m_start_time, nullptr);
}

int CElapsedTimer::elapsed() const
{
    ASSERT(is_valid());
    struct timeval now;
    gettimeofday(&now, nullptr);
    struct timeval diff;
    timeval_sub(now, m_start_time, diff);
    return diff.tv_sec * 1000 + diff.tv_usec / 1000;
}