[Python-checkins] peps: PEP 418: Replace "Resolution" column with "C Resolution", and "Precision" with
victor.stinner
python-checkins at python.org
Tue Apr 24 00:30:30 CEST 2012
http://hg.python.org/peps/rev/33b504ccfee6
changeset: 4298:33b504ccfee6
user: Victor Stinner <victor.stinner at gmail.com>
date: Tue Apr 24 00:24:08 2012 +0200
summary:
PEP 418: Replace "Resolution" column with "C Resolution", and "Precision" with
"OS Resolution"
Document also these two columns.
files:
pep-0418.txt | 279 +++++++++++++++++++++-----------------
1 files changed, 151 insertions(+), 128 deletions(-)
diff --git a/pep-0418.txt b/pep-0418.txt
--- a/pep-0418.txt
+++ b/pep-0418.txt
@@ -912,43 +912,48 @@
Monotonic Clocks
----------------
-========================= ========== =============== ============= ===============
-Name Resolution Adjusted Include sleep Include suspend
-========================= ========== =============== ============= ===============
-gethrtime() 1 ns No Yes Yes
-CLOCK_HIGHRES 1 ns No Yes Yes
-CLOCK_MONOTONIC 1 ns Slewed on Linux Yes No
-CLOCK_MONOTONIC_COARSE 1 ns Slewed on Linux Yes No
-CLOCK_MONOTONIC_RAW 1 ns No Yes No
-CLOCK_BOOTTIME 1 ns ? Yes Yes
-CLOCK_UPTIME 1 ns No Yes ?
-mach_absolute_time() 1 ns No Yes No
-QueryPerformanceCounter() \- No Yes ?
-GetTickCount[64]() 1 ms No Yes Yes
-timeGetTime() 1 ms No Yes ?
-========================= ========== =============== ============= ===============
+========================= ============ =============== ============= ===============
+Name C Resolution Adjusted Include Sleep Include Suspend
+========================= ============ =============== ============= ===============
+gethrtime() 1 ns No Yes Yes
+CLOCK_HIGHRES 1 ns No Yes Yes
+CLOCK_MONOTONIC 1 ns Slewed on Linux Yes No
+CLOCK_MONOTONIC_COARSE 1 ns Slewed on Linux Yes No
+CLOCK_MONOTONIC_RAW 1 ns No Yes No
+CLOCK_BOOTTIME 1 ns ? Yes Yes
+CLOCK_UPTIME 1 ns No Yes ?
+mach_absolute_time() 1 ns No Yes No
+QueryPerformanceCounter() \- No Yes ?
+GetTickCount[64]() 1 ms No Yes Yes
+timeGetTime() 1 ms No Yes ?
+========================= ============ =============== ============= ===============
+
+The "C Resolution" column is the resolution of the underlying C
+structure.
Examples of clock precision on x86_64:
-========================= ================ ========= =================
-Name Operating system Precision Python Resolution
-========================= ================ ========= =================
-QueryPerformanceCounter Windows Seven 10 ns 10 ns
-CLOCK_HIGHRES SunOS 5.11 2 ns 265 ns
-CLOCK_MONOTONIC Linux 3.0 1 ns 322 ns
-CLOCK_MONOTONIC_RAW Linux 3.3 1 ns 628 ns
-CLOCK_BOOTTIME Linux 3.3 1 ns 628 ns
-mach_absolute_time() Mac OS 10.6 1 ns 3 µs
-CLOCK_MONOTONIC FreeBSD 8.2 11 ns 5 µs
-CLOCK_MONOTONIC OpenBSD 5.0 10 ms 5 µs
-CLOCK_UPTIME FreeBSD 8.2 11 ns 6 µs
-CLOCK_MONOTONIC_COARSE Linux 3.3 1 ms 1 ms
-CLOCK_MONOTONIC_COARSE Linux 3.0 4 ms 4 ms
-GetTickCount64() Windows Seven 16 ms 15 ms
-========================= ================ ========= =================
+========================= ================ ============= =================
+Name Operating system OS Resolution Python Resolution
+========================= ================ ============= =================
+QueryPerformanceCounter Windows Seven 10 ns 10 ns
+CLOCK_HIGHRES SunOS 5.11 2 ns 265 ns
+CLOCK_MONOTONIC Linux 3.0 1 ns 322 ns
+CLOCK_MONOTONIC_RAW Linux 3.3 1 ns 628 ns
+CLOCK_BOOTTIME Linux 3.3 1 ns 628 ns
+mach_absolute_time() Mac OS 10.6 1 ns 3 µs
+CLOCK_MONOTONIC FreeBSD 8.2 11 ns 5 µs
+CLOCK_MONOTONIC OpenBSD 5.0 10 ms 5 µs
+CLOCK_UPTIME FreeBSD 8.2 11 ns 6 µs
+CLOCK_MONOTONIC_COARSE Linux 3.3 1 ms 1 ms
+CLOCK_MONOTONIC_COARSE Linux 3.0 4 ms 4 ms
+GetTickCount64() Windows Seven 16 ms 15 ms
+========================= ================ ============= =================
-The "Python Resolution" column was filled using the
-`clock_resolution.py
+The "OS Resolution" is the resolution announced by the operating
+system.
+The "Python Resolution" is the smallest difference between two calls
+to the time function computed in Python using the `clock_resolution.py
<http://hg.python.org/peps/file/tip/pep-0418/clock_resolution.py>`_
program.
@@ -1172,35 +1177,40 @@
System Time
-----------
-========================= =============== ============= ===============
-Name Resolution Include sleep Include suspend
-========================= =============== ============= ===============
-CLOCK_REALTIME 1 ns Yes Yes
-CLOCK_REALTIME_COARSE 1 ns Yes Yes
-GetSystemTimeAsFileTime 100 ns Yes Yes
-gettimeofday() 1 µs Yes Yes
-ftime() 1 ms Yes Yes
-time() 1 sec Yes Yes
-========================= =============== ============= ===============
+========================= ============ ============= ===============
+Name C Resolution Include Sleep Include Suspend
+========================= ============ ============= ===============
+CLOCK_REALTIME 1 ns Yes Yes
+CLOCK_REALTIME_COARSE 1 ns Yes Yes
+GetSystemTimeAsFileTime 100 ns Yes Yes
+gettimeofday() 1 µs Yes Yes
+ftime() 1 ms Yes Yes
+time() 1 sec Yes Yes
+========================= ============ ============= ===============
+
+The "C Resolution" column is the resolution of the underlying C
+structure.
Examples of clock precision on x86_64:
-========================= ================ ========= =================
-Name Operating system Precision Python Resolution
-========================= ================ ========= =================
-CLOCK_REALTIME SunOS 5.11 10 ms 238 ns
-CLOCK_REALTIME Linux 3.0 1 ns 238 ns
-gettimeofday() Mac OS 10.6 1 µs 4 µs
-CLOCK_REALTIME FreeBSD 8.2 11 ns 6 µs
-CLOCK_REALTIME OpenBSD 5.0 10 ms 5 µs
-CLOCK_REALTIME_COARSE Linux 3.3 1 ms 1 ms
-CLOCK_REALTIME_COARSE Linux 3.0 4 ms 4 ms
-GetSystemTimeAsFileTime() Windows Seven 16 ms 1 ms
-ftime() Windows Seven \- 1 ms
-========================= ================ ========= =================
+========================= ================ ============= =================
+Name Operating system OS Resolution Python Resolution
+========================= ================ ============= =================
+CLOCK_REALTIME SunOS 5.11 10 ms 238 ns
+CLOCK_REALTIME Linux 3.0 1 ns 238 ns
+gettimeofday() Mac OS 10.6 1 µs 4 µs
+CLOCK_REALTIME FreeBSD 8.2 11 ns 6 µs
+CLOCK_REALTIME OpenBSD 5.0 10 ms 5 µs
+CLOCK_REALTIME_COARSE Linux 3.3 1 ms 1 ms
+CLOCK_REALTIME_COARSE Linux 3.0 4 ms 4 ms
+GetSystemTimeAsFileTime() Windows Seven 16 ms 1 ms
+ftime() Windows Seven \- 1 ms
+========================= ================ ============= =================
-The "Python Resolution" column was filled using the
-`clock_resolution.py
+The "OS Resolution" is the resolution announced by the operating
+system.
+The "Python Resolution" is the smallest difference between two calls
+to the time function computed in Python using the `clock_resolution.py
<http://hg.python.org/peps/file/tip/pep-0418/clock_resolution.py>`_
program.
@@ -1242,45 +1252,50 @@
The process time cannot be set. It is not monotonic: the clocks stop
while the process is idle.
-========================= ========== ============================ ===============
-Name Resolution Include sleep Include suspend
-========================= ========== ============================ ===============
-GetProcessTimes() 100 ns No No
-CLOCK_PROCESS_CPUTIME_ID 1 ns No No
-getrusage(RUSAGE_SELF) 1 µs No No
-times() \- No No
-clock() \- Yes on Windows, No otherwise No
-========================= ========== ============================ ===============
+========================= ============ ============================ ===============
+Name C Resolution Include Sleep Include Suspend
+========================= ============ ============================ ===============
+GetProcessTimes() 100 ns No No
+CLOCK_PROCESS_CPUTIME_ID 1 ns No No
+getrusage(RUSAGE_SELF) 1 µs No No
+times() \- No No
+clock() \- Yes on Windows, No otherwise No
+========================= ============ ============================ ===============
+
+The "C Resolution" column is the resolution of the underlying C
+structure.
Examples of clock precision on x86_64:
-========================= ================ ========= ===================
-Name Operating system Precision Python Resolution
-========================= ================ ========= ===================
-CLOCK_PROCESS_CPUTIME_ID Linux 3.3 1 ns 1 ns
-CLOCK_PROF FreeBSD 8.2 10 ms 1 µs
-getrusage(RUSAGE_SELF) FreeBSD 8.2 \- 1 µs
-getrusage(RUSAGE_SELF) SunOS 5.11 \- 1 µs
-CLOCK_PROCESS_CPUTIME_ID Linux 3.0 1 ns 1 µs
-getrusage(RUSAGE_SELF) Mac OS 10.6 \- 5 µs
-clock() Mac OS 10.6 1 µs 5 µs
-CLOCK_PROF OpenBSD 5.0 \- 5 µs
-getrusage(RUSAGE_SELF) Linux 3.0 \- 4 ms
-getrusage(RUSAGE_SELF) OpenBSD 5.0 \- 8 ms
-clock() FreeBSD 8.2 8 ms 8 ms
-clock() Linux 3.0 1 µs 10 ms
-times() Linux 3.0 10 ms 10 ms
-clock() OpenBSD 5.0 10 ms 10 ms
-times() OpenBSD 5.0 10 ms 10 ms
-times() Mac OS 10.6 10 ms 10 ms
-clock() SunOS 5.11 1 µs 10 ms
-times() SunOS 5.11 1 µs 10 ms
-GetProcessTimes() Windows Seven 16 ms 16 ms
-clock() Windows Seven 1 ms 1 ms
-========================= ================ ========= ===================
+========================= ================ ============= ===================
+Name Operating system OS Resolution Python Resolution
+========================= ================ ============= ===================
+CLOCK_PROCESS_CPUTIME_ID Linux 3.3 1 ns 1 ns
+CLOCK_PROF FreeBSD 8.2 10 ms 1 µs
+getrusage(RUSAGE_SELF) FreeBSD 8.2 \- 1 µs
+getrusage(RUSAGE_SELF) SunOS 5.11 \- 1 µs
+CLOCK_PROCESS_CPUTIME_ID Linux 3.0 1 ns 1 µs
+getrusage(RUSAGE_SELF) Mac OS 10.6 \- 5 µs
+clock() Mac OS 10.6 1 µs 5 µs
+CLOCK_PROF OpenBSD 5.0 \- 5 µs
+getrusage(RUSAGE_SELF) Linux 3.0 \- 4 ms
+getrusage(RUSAGE_SELF) OpenBSD 5.0 \- 8 ms
+clock() FreeBSD 8.2 8 ms 8 ms
+clock() Linux 3.0 1 µs 10 ms
+times() Linux 3.0 10 ms 10 ms
+clock() OpenBSD 5.0 10 ms 10 ms
+times() OpenBSD 5.0 10 ms 10 ms
+times() Mac OS 10.6 10 ms 10 ms
+clock() SunOS 5.11 1 µs 10 ms
+times() SunOS 5.11 1 µs 10 ms
+GetProcessTimes() Windows Seven 16 ms 16 ms
+clock() Windows Seven 1 ms 1 ms
+========================= ================ ============= ===================
-The "Python Resolution" column was filled using the
-`clock_resolution.py
+The "OS Resolution" is the resolution announced by the operating
+system.
+The "Python Resolution" is the smallest difference between two calls
+to the time function computed in Python using the `clock_resolution.py
<http://hg.python.org/peps/file/tip/pep-0418/clock_resolution.py>`_
program.
@@ -1321,25 +1336,30 @@
The thread time cannot be set. It is not monotonic: the clocks stop
while the thread is idle.
-========================= ========== ============= ===============
-Name Resolution Include sleep Include suspend
-========================= ========== ============= ===============
-CLOCK_THREAD_CPUTIME_ID 1 ns Yes Epoch changes
-GetThreadTimes() 100 ns No ?
-========================= ========== ============= ===============
+========================= ============ ============= ===============
+Name C Resolution Include Sleep Include Suspend
+========================= ============ ============= ===============
+CLOCK_THREAD_CPUTIME_ID 1 ns Yes Epoch changes
+GetThreadTimes() 100 ns No ?
+========================= ============ ============= ===============
+
+The "C Resolution" column is the resolution of the underlying C
+structure.
Examples of clock precision on x86_64:
-========================= ================ =============== =================
-Name Operating system Precision Python Resolution
-========================= ================ =============== =================
-CLOCK_THREAD_CPUTIME_ID FreeBSD 8.2 1 µs 1 µs
-CLOCK_THREAD_CPUTIME_ID Linux 3.3 1 ns 649 ns
-GetThreadTimes() Windows Seven 16 ms 16 ms
-========================= ================ =============== =================
+========================= ================ ============= =================
+Name Operating system OS Resolution Python Resolution
+========================= ================ ============= =================
+CLOCK_THREAD_CPUTIME_ID FreeBSD 8.2 1 µs 1 µs
+CLOCK_THREAD_CPUTIME_ID Linux 3.3 1 ns 649 ns
+GetThreadTimes() Windows Seven 16 ms 16 ms
+========================= ================ ============= =================
-The "Python Resolution" column was filled using the
-`clock_resolution.py
+The "OS Resolution" is the resolution announced by the operating
+system.
+The "Python Resolution" is the smallest difference between two calls
+to the time function computed in Python using the `clock_resolution.py
<http://hg.python.org/peps/file/tip/pep-0418/clock_resolution.py>`_
program.
@@ -1388,29 +1408,32 @@
Sleep can be interrupted by a signal: the function fails with EINTR.
-======================== ==========
-Name Resolution
-======================== ==========
-nanosleep() 1 ns
-clock_nanosleep() 1 ns
-usleep() 1 µs
-delay() 1 µs
-sleep() 1 sec
-======================== ==========
+======================== ============
+Name C Resolution
+======================== ============
+nanosleep() 1 ns
+clock_nanosleep() 1 ns
+usleep() 1 µs
+delay() 1 µs
+sleep() 1 sec
+======================== ============
Other functions:
-======================== ==========
-Name Resolution
-======================== ==========
-sigtimedwait() 1 ns
-pthread_cond_timedwait() 1 ns
-sem_timedwait() 1 ns
-select() 1 µs
-epoll() 1 ms
-poll() 1 ms
-WaitForSingleObject() 1 ms
-======================== ==========
+======================== ============
+Name C Resolution
+======================== ============
+sigtimedwait() 1 ns
+pthread_cond_timedwait() 1 ns
+sem_timedwait() 1 ns
+select() 1 µs
+epoll() 1 ms
+poll() 1 ms
+WaitForSingleObject() 1 ms
+======================== ============
+
+The "C Resolution" column is the resolution of the underlying C
+structure.
Functions
--
Repository URL: http://hg.python.org/peps
More information about the Python-checkins
mailing list