예제 #1
0
static qint64 elapsedAndRestart(qint64 sec, qint64 frac,
                                qint64 *nowsec, qint64 *nowfrac)
{
    do_gettime(nowsec, nowfrac);
    sec = *nowsec - sec;
    frac = *nowfrac - frac;
    return sec * Q_INT64_C(1000) + frac / fractionAdjustment();
}
예제 #2
0
qint64 PerformanceTimer::elapsed() const
{
    qint64 sec, frac;
    do_gettime(&sec, &frac);
    sec = sec - t1;
    frac = frac - t2;

    return sec * Q_INT64_C(1000000000) + frac;
}
예제 #3
0
qint64 QElapsedTimer::nsecsElapsed() const
{
    qint64 sec, frac;
    do_gettime(&sec, &frac);
    sec = sec - t1;
    frac = frac - t2;
    if (!monotonicClockAvailable)
        frac *= 1000;
    return sec * Q_INT64_C(1000000000) + frac;
}
예제 #4
0
qint64 PerformanceTimer::restart()
{
    qint64 sec, frac;
    sec = t1;
    frac = t2;
    do_gettime(&t1, &t2);
    sec = t1 - sec;
    frac = t2 - frac;
    return sec * Q_INT64_C(1000000000) + frac;
}
qint64 QElapsedTimer::restart()
{
    QPair<long, long> r = do_gettime();
    qint64 oldt1 = t1;
    qint64 oldt2 = t2;
    t1 = r.first;
    t2 = r.second;

    r.first -= oldt1;
    r.second -= oldt2;
    return r.first * Q_INT64_C(1000) + r.second / fractionAdjustment();
}
// used in qcore_unix.cpp and qeventdispatcher_unix.cpp
timeval qt_gettime()
{
    QPair<long, long> r = do_gettime();

    timeval tv;
    tv.tv_sec = r.first;
    tv.tv_usec = r.second;
    if (QElapsedTimer::isMonotonic())
        tv.tv_usec /= 1000;

    return tv;
}
예제 #7
0
// used in qcore_unix.cpp and qeventdispatcher_unix.cpp
timeval qt_gettime()
{
    qint64 sec, frac;
    do_gettime(&sec, &frac);

    timeval tv;
    tv.tv_sec = sec;
    tv.tv_usec = frac;
    if (monotonicClockAvailable)
        tv.tv_usec /= 1000;

    return tv;
}
예제 #8
0
void QElapsedTimer::start()
{
    do_gettime(&t1, &t2);
}
예제 #9
0
void PerformanceTimer::start()
{
    do_gettime(&t1, &t2);
}
void QElapsedTimer::start()
{
    QPair<long, long> r = do_gettime();
    t1 = r.first;
    t2 = r.second;
}