[Python-Dev] PEP 418: Add monotonic time, performance counter and process time functions

Stephen J. Turnbull stephen at xemacs.org
Wed Apr 18 08:45:31 CEST 2012


On Wed, Apr 18, 2012 at 8:25 AM, Victor Stinner
<victor.stinner at gmail.com> wrote:

> Ok ok, resolution / accuracy / precision are confusing (or at least
> not well known concepts).

Maybe not to us, but in fields like astronomy and mechanical
engineering there are commonly accepted definitions:

Resolution: the smallest difference between two physical values that
results in a different measurement by a given instrument.

Precision: the amount of deviation among measurements of the same
physical value by a single instrument.

Accuracy: the amount of deviation of measurements by a given
instrument from true values.

As usual there are issues of average vs. worst case, different
resolution/precision/accuracy over the instrument's range, etc. which
need to be considered in reporting values for these properties.

A typical application to clocks would be the duration of one tick.  If
the clock ticks once per second and time values are reported in
nanoseconds, the /resolution/ is *1 billion* nanoseconds, not *1*
nanosecond.    /Precision/ corresponds to the standard deviation of
tick durations.  It is not necessarily the case that a precise
instrument will be accurate; if every tick is *exactly* 59/60 seconds,
the clock is infinitely precise but horribly inaccurate for most
purposes (it loses an hour every three days, and you'll miss your
favorite TV show!)  And two /accurate/ clocks should report the same
times and the same durations when measuring the same things.

I don't really care if Python decides to use idiosyncratic
definitions, but the above are easy enough to find (eg
http://en.wikipedia.org/wiki/Accuracy_and_precision).


More information about the Python-Dev mailing list