Boost logo

Boost :

Subject: Re: [boost] [chrono] steady_clock efficiency
From: Kenneth Porter (shiva.blacklist_at_[hidden])
Date: 2011-11-29 20:25:47

"Vicente J. Botet Escriba" <vicente.botet_at_[hidden]> wrote in

> Glad to hear you are considering it. Have you any measures that let you
> think there is a serious overhead? How do you use the ::now() function
> to make your performance measures?

Thanks for the feedback. A typical use case:

const time_point startTime = steady_clock::now();
// stuff to measure here
const time_point endTime = steady_clock::now();
const duration elapsed = endTime - startTime;

Ideally the conversion from ticks to nanoseconds would be done by the
subtraction operator.

Another use case, waiting a precise amount of time:

void wait(const duration timeToWait)
            const time_point endTime = steady_clock::now() + timeToWait;
            while (steady_clock::now() < endTime)

Here, the conversion from nanoseconds to ticks would be done by the
addition operator, so that the time_point comparison would be in ticks.

I'd use this where I need to wait a small amount of time (much less than a
scheduler tick) for a hardware device to respond, before giving up my time

Boost list run by bdawes at, gregod at, cpdaniel at, john at