From: Philippe Vaucher (philippe.vaucher_at_[hidden])
Date: 2007-07-20 03:32:13
> I changed it to do m_frequency.QuadPart /= 1000000 in its constructor
> and add to elapsed by doing:
> m_elapsed += posix_time::microseconds(microseconds);
Sounds fair enough, I'll do the same.
In terms of what to do when QueryPerformanceCounter leaps I would
> probably use the GetTickCount value silently so the class just works
> (tm). I'd probably edit the file locally to assert in debug in that case
> just for personal curiosity.
I'll probably do some kind of macro enabling this behavior, like
QPC_SET_AFFINITY which solves the multicore problem.
There was one more problem with QueryPerformanceCounter on some laptops
> including my old one. When the cpu lowered its clock speed to save
> battery power the frequency of the timer changed despite the
> documentation for QueryPerformanceFrequency explicitly saying the
> frequency cannot change while the system is running. I don't have the
> laptop anymore so I doubt we'll be able to make and test a fix.
> Hopefully this isn't common.
Unfortunately I don't see a fix for the speedsteping problem... I think we
can only document it.
About the next versions, I always do a message on the mailing list and I
post it there http://www.unitedsoft.ch/boost/, sometimes I also upload it to
Cheers for your insights. Btw as you seem to work on non-posix and
non-windows system, can you tell me what timeing API there is on those
platforms ? Would it make sense to add a "others" namespace where non-posix
and non-win devices would be ?
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk