[Python-Dev] Issue #10278 -- why not just an attribute?
Victor Stinner
victor.stinner at gmail.com
Tue Mar 20 10:25:13 CET 2012
2012/3/20 Jim J. Jewett <jimjjewett at gmail.com>:
>
>
> In http://mail.python.org/pipermail/python-dev/2012-March/117762.html
> Georg Brandl posted:
>
>>> + If available, a monotonic clock is used. By default, if *strict* is False,
>>> + the function falls back to another clock if the monotonic clock failed or is
>>> + not available. If *strict* is True, raise an :exc:`OSError` on error or
>>> + :exc:`NotImplementedError` if no monotonic clock is available.
>
>> This is not clear to me. Why wouldn't it raise OSError on error even with
>> strict=False? Please clarify which exception is raised in which case.
>
> Passing strict as an argument seems like overkill since it will always
> be meaningless on some (most?) platforms. Why not just use a function
> attribute? Those few users who do care can check the value of
> time.steady.monotonic before calling time.steady(); exceptions raised
> will always be whatever the clock actually raises.
The clock is chosen at runtime. You might use a different clock at
each call. In most cases, Python should chose a clock at the first
call and reuse it for next calls.
For example, on Linux the following clocks are tested:
- clock_gettime(CLOCK_MONONOTIC_RAW)
- clock_gettime(CLOCK_MONONOTIC)
- gettimeofday()
- ftime()
Victor
More information about the Python-Dev
mailing list