Subject: [boost] [Review] Formal Review of Proposed Boost.Chrono Library Starts TOMORROW
From: Anthony Williams (anthony.ajw_at_[hidden])
Date: 2010-11-05 13:25:50
The review of Vicente Botet's Chrono library starts TOMORROW (November
6th) and lasts until November 15th unless an extension occurs.
What is it?
Boost.Chrono aims to implement the new time facilities in C++0x, as
proposed in N2661 - A Foundation to Sleep On
document provides background and motivation for key design decisions and
is the source of a good deal of information in this documentation.
See the current C++0x working draft at
details of what was accepted.
The Boost.Chrono library provides:
* A means to represent time durations: managed by the generic
duration class . Examples of time durations include days, minutes,
seconds and nanoseconds, which can be represented with a fixed
number of clock ticks per unit. All of these units of time
duration are united with a generic interface by the duration
* A type for representing points in time: time_point. A time_point
represents an epoch plus or minus a duration. The library leaves
epochs unspecified. A time_point is associated with a clock.
* Several clocks, some of which may not be available on a particular
platform: system_clock, monotonic_clock and
high_resolution_clock. A clock is a pairing of a time_point and
duration, and a function which returns a time_point representing
* To make the timing facilities more generally useful, Boost.Chrono
provides a number of additional clocks that are thin wrappers
around the operating system's time APIs, thereby allowing the
extraction of read (wall clock) time, user CPU time, system CPU
- process_real_cpu_clock, captures real (wall clock) CPU times.
- process_user_cpu_clock, captures user-CPU times.
- process_system_cpu_clock, captures system-CPU times.
- A tuple-like class __process_cpuclock_, that captures real,
user-CPU, and system-CPU times together.
- A thread_clock thread monotonic clock, when supported by a platform.
* Boost.Chrono also includes typeof registration for duration and
time_point to permit using emulated auto with C++03 compilers.
* Boost.Chrono also provides I/O for duration and time_point. It
builds on <boost/ratio/ratio_io.hpp> to provide readable and
flexible formatting and parsing for types in
<boost/chrono.hpp>. The duration unit names can be customized
through a new facet: duration_punct.
Getting the library
The latest version of this library may be downloaded from
Boost.Chrono depends on Boost.Ratio
and optionaly Boost.System Header Only
and the docs may be viewed here
You can get all these information also (which should avoid some long
Writing a review
If you feel this is an interesting library, then please submit your
review to the developer list (preferably), or to the review manager.
Here are some questions you might want to answer in your review:
- What is your evaluation of the design?
- What is your evaluation of the implementation?
- What is your evaluation of the documentation?
- What is your evaluation of the potential usefulness of the library?
- Did you try to use the library? With what compiler? Did you have any problems?
- How much effort did you put into your evaluation? A glance? A quick
- reading? In-depth study?
- Are you knowledgeable about the problem domain?
And finally, every review should answer this question:
- Do you think the library should be accepted as a Boost library?
Be sure to say this explicitly so that your other comments don't
obscure your overall opinion.
Review Manager for the proposed Boost.Chrono library
-- Author of C++ Concurrency in Action http://www.stdthread.co.uk/book/ just::thread C++0x thread library http://www.stdthread.co.uk Just Software Solutions Ltd http://www.justsoftwaresolutions.co.uk 15 Carrallack Mews, St Just, Cornwall, TR19 7UL, UK. Company No. 5478976
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk