[Python-Dev] this is why we shouldn't call it a "monotonic clock" (was: PEP 418 is too divisive and confusing and should be postponed)
Cameron Simpson
cs at zip.com.au
Mon Apr 9 04:54:42 CEST 2012
On 09Apr2012 02:00, Victor Stinner <victor.stinner at gmail.com> wrote:
| > I personally have a need for one potentially different clock -- to
| > measure short intervals for benchmarks and profiling. This might be
| > called time.performancetimer()?
|
| I deferred this topic because it is unclear to me if such timer has to
| count elapsed time during a sleep or not. For example, time.clock()
| does on UNIX, whereas it doesn't on Windows. You may need two clocks
| for this:
| * time.perf_counter(): high-resolution timer for benchmarking, count
| time elasped during a sleep
For POSIX, sounds like CLOCK_MONOTONIC_RAW to me.
| * time.process_time(): High-resolution (?) per-process timer from the
| CPU. (other possible names: time.process_cpu_time() or
| time.cpu_time())
POSIX offers CLOCK_PROCESS_CPUTIME_ID and CLOCK_THREAD_CPUTIME_ID that
seem to suit this need, depending on your threading situation (and what
you're measuring).
| On Windows, GetProcessTimes() has not a "high-resolution": it has a
| accuracy of 1 ms in the best case.
This page:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms683223%28v=vs.85%29.aspx
says "100-nanosecond time units".
Am I going to the wrong place to learn about these functions?
--
Cameron Simpson <cs at zip.com.au> DoD#743
http://www.cskk.ezoshosting.com/cs/
I distrust a research person who is always obviously busy on a task.
- Robert Frosch, VP, GM Research
More information about the Python-Dev
mailing list