[Python-Dev] PEP 418: Add monotonic clock (original) (raw)

Steven D'Aprano steve at pearwood.info
Wed Mar 28 14:05:59 CEST 2012


Georg Brandl wrote:

On 28.03.2012 06:45, Nick Coghlan wrote:

On Wed, Mar 28, 2012 at 10:36 AM, Victor Stinner <victor.stinner at gmail.com> wrote:

If QueryPerformanceCounter() is monotonic, the API can be simplified to:

* time.time() = system clock * time.monotonic() = monotonic clock * time.hires() = monotonic clock or fallback to system clock time.hires() definition is exactly what I was trying to implement with "time.steady(strict=True)" / "time.trymonotonic()". Please don't call the fallback version "hires" as it suggests it may be higher resolution than time.time() and that's completely the wrong idea. It's also a completely ugly name, since it's quite hard to figure out what it is supposed to stand for in the first place.

Precisely. I always read "hires" as the verb hires (as in "he hires a car to go on holiday") rather than HIgh RESolution.

-1 on hires, it's a horrible name. And misleading as well, because on Linux, it isn't any more high res than time.time().

+1 on Nick's suggestion of try_monotonic. It is clear and obvious and doesn't mislead.

I don't have an opinion as to what the implementation of try_monotonic should be. Whether it should fall back to time.time, time.clock, or something else, I don't know. But it is a clear and obvious solution for the use-case of "I prefer the monotonic clock, if it is available, otherwise I'll take my chances with a best-effect clock."

-- Steven



More information about the Python-Dev mailing list