[Python-Dev] Rename time.steady(strict=True) to time.monotonic()? (original) (raw)
Steven D'Aprano steve at pearwood.info
Sat Mar 24 03:08:58 CET 2012
- Previous message: [Python-Dev] Rename time.steady(strict=True) to time.monotonic()?
- Next message: [Python-Dev] Rename time.steady(strict=True) to time.monotonic()?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Victor Stinner wrote:
Is steady() merely a convenience function to avoid the user having to write something like this? steady() remembers if the last call to monotonic failed or not. The real implementation is closer to something like: def steady(): if not steady.hasmonotonic: return time.time() try: return time.monotonic() except (AttributeError, OSError): steady.hasmonotonic = False return time.time() steady.hasmonotonic = True
Does this mean that there are circumstances where monotonic will work for a while, but then fail?
Otherwise, we would only need to check monotonic once, when the time module is first loaded, rather than every time it is called. Instead of the above:
global to the time module
try: monotonic() except (NameError, OSError): steady = time else: steady = monotonic
Are there failure modes where monotonic can recover? That is, it works for a while, then raises OSError, then works again on the next call.
If so, steady will stop using monotonic and never try it again. Is that deliberate?
-- Steven
- Previous message: [Python-Dev] Rename time.steady(strict=True) to time.monotonic()?
- Next message: [Python-Dev] Rename time.steady(strict=True) to time.monotonic()?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]