From: David Abrahams (dave_at_[hidden])
Date: 2007-10-16 15:44:34
on Mon Oct 08 2007, "Phil Endecott" <spam_from_boost_dev-AT-chezphil.org> wrote:
> Jeff Garland wrote:
>> At the Kona meeting (just finished) the standard committee made very
>> significant progress on threading for C++0x -- voting in a proposal written by
>> Howard H, Beman, Anthony Williams, myself, and others -- subject to wording
>> changes to be made by a small drafting committee. Basically we were in
>> agreement on semantics, but even after several late night drafting sessions
>> people weren't happy with the standardeze.
>> While much of the proposal is based on Boost.thread it has some serious
>> departures in the way mutexes and guard interfaces work, it's use of date-time
>> types for clock/timing interfaces and such.
> This reminds me: I thought I posted something about this when Howard
> sent his proposal to this list, but it seems to have been lost in an
> email black-hole. Howard's code included timed operations that are
> templated on the time type, which (presumably) allows an implementation
> to provide versions for each of that platform's standard time types.
> This reminded me of some presentations about power saving at
> LinuxConf.EU: apparently reducing the number of timer interrupts is
> greatly beneficial to increasing energy efficiency, and one way to
> achieve this is to align all applications' periodic wakeups. Very
> often, we want to timeout after "about a second" but will actually
> specify a timeout value of "exactly 1.0000000 seconds"; if the API
> allowed us to indicate, for example, "between 0.1 and 1.5 seconds", or
> "1 second +/- 10%", then some hidden power-saving wakeup-alignment
> algorithm could be applied.
Agreed, this is hugely important. However, I think the standardese
may be easier than that: unless we think some programs need both exact
and flexible timeouts, we can leave it up to the implementation to
interpret the timeout value.
-- Dave Abrahams Boost Consulting http://www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk