summaryrefslogtreecommitdiff
path: root/LibCore/CElapsedTimer.cpp
blob: e783f59b0d89374bf541687094553a79bb6dbc66 (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;
    AK::timeval_sub(&now, &m_start_time, &diff);
    return diff.tv_sec * 1000 + diff.tv_usec / 1000;
}