[Python-Dev] cpython: Issue #10278: Add an optional strict argument to time.steady(), False by default

Michael Foord fuzzyman at voidspace.org.uk
Sat Mar 17 23:16:51 CET 2012


On 17 Mar 2012, at 15:04, Georg Brandl wrote:

> On 03/17/2012 09:47 PM, Michael Foord wrote:
>> 
>> On 17 Mar 2012, at 08:49, Georg Brandl wrote:
>> 
>>> On 03/15/2012 01:17 AM, victor.stinner wrote:
>>>> http://hg.python.org/cpython/rev/27441e0d6a75 changeset:
>>>> 75672:27441e0d6a75 user:        Victor Stinner
>>>> <victor.stinner at gmail.com> date:        Thu Mar 15 01:17:09 2012 +0100 
>>>> summary: Issue #10278: Add an optional strict argument to time.steady(),
>>>> False by default
>>>> 
>>>> files: Doc/library/time.rst  |   7 +++- Lib/test/test_time.py |  10
>>>> +++++ Modules/timemodule.c  |  58 +++++++++++++++++++++--------- 3 files
>>>> changed, 57 insertions(+), 18 deletions(-)
>>>> 
>>>> 
>>>> diff --git a/Doc/library/time.rst b/Doc/library/time.rst ---
>>>> a/Doc/library/time.rst +++ b/Doc/library/time.rst @@ -226,7 +226,7 @@ The
>>>> earliest date for which it can generate a time is platform-dependent.
>>>> 
>>>> 
>>>> -.. function:: steady() +.. function:: steady(strict=False)
>>>> 
>>>> .. index:: single: benchmarking @@ -236,6 +236,11 @@ adjusted. The
>>>> reference point of the returned value is undefined so only the difference
>>>> of consecutive calls is valid.
>>>> 
>>>> +   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.
>> 
>> It seems clear to me. It doesn't raise exceptions when strict=False because
>> it falls back to a non-monotonic clock. If strict is True and a non-monotonic
>> clock is not available it raises OSError or NotImplementedError.
> 
> So errors are ignored when strict is false?


Well, as described in the documentation an error in finding a monotonic clock causes the function to fallback to a different clock. So you could interpret that as either errors are ignored, or it isn't an error in the first place. I don't see how the following is ambiguous, but you're obviously having difficulty with it. Perhaps you can suggest another wording.

	if *strict* is False, the function falls back to another clock if the monotonic clock failed or is not available. 

The note from Eric notwithstanding though.

Michael

> 
> Georg
> 
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: http://mail.python.org/mailman/options/python-dev/fuzzyman%40voidspace.org.uk
> 


--
http://www.voidspace.org.uk/


May you do good and not evil
May you find forgiveness for yourself and forgive others
May you share freely, never taking more than you give.
-- the sqlite blessing 
http://www.sqlite.org/different.html







More information about the Python-Dev mailing list