[Python-checkins] bpo-36895: remove time.clock() as per removal notice. (GH-13270)

Gregory P. Smith webhook-mailer at python.org
Sun May 12 21:34:57 EDT 2019


https://github.com/python/cpython/commit/e2500610c62673f42371b54fb0e4de83e4b33146
commit: e2500610c62673f42371b54fb0e4de83e4b33146
branch: master
author: Matthias Bussonnier <bussonniermatthias at gmail.com>
committer: Gregory P. Smith <greg at krypto.org>
date: 2019-05-12T18:34:44-07:00
summary:

bpo-36895: remove time.clock() as per removal notice. (GH-13270)

`time.clock()` was deprecated in 3.3, and marked for removal removal in
3.8; this thus remove it from the time module.

files:
A Misc/NEWS.d/next/Library/2019-05-12-14-49-13.bpo-36895.ZZuuY7.rst
M Doc/library/time.rst
M Lib/test/test_time.py
M Modules/timemodule.c

diff --git a/Doc/library/time.rst b/Doc/library/time.rst
index 170f8dc629bf..cad4afda38b8 100644
--- a/Doc/library/time.rst
+++ b/Doc/library/time.rst
@@ -155,7 +155,7 @@ Functions
 
    .. availability:: Windows, Unix. Not available on VxWorks.
 
-   .. deprecated:: 3.3
+   .. deprecated-removed:: 3.3 3.8
       The behaviour of this function depends on the platform: use
       :func:`perf_counter` or :func:`process_time` instead, depending on your
       requirements, to have a well defined behaviour.
diff --git a/Lib/test/test_time.py b/Lib/test/test_time.py
index 42799b2a21ca..f790d43b6f47 100644
--- a/Lib/test/test_time.py
+++ b/Lib/test/test_time.py
@@ -88,17 +88,6 @@ def check_ns(sec, ns):
             check_ns(time.clock_gettime(time.CLOCK_REALTIME),
                      time.clock_gettime_ns(time.CLOCK_REALTIME))
 
-    @unittest.skipUnless(hasattr(time, 'clock'),
-                         'need time.clock()')
-    def test_clock(self):
-        with self.assertWarns(DeprecationWarning):
-            time.clock()
-
-        with self.assertWarns(DeprecationWarning):
-            info = time.get_clock_info('clock')
-        self.assertTrue(info.monotonic)
-        self.assertFalse(info.adjustable)
-
     @unittest.skipUnless(hasattr(time, 'clock_gettime'),
                          'need time.clock_gettime()')
     def test_clock_realtime(self):
@@ -553,15 +542,9 @@ def test_localtime_failure(self):
 
     def test_get_clock_info(self):
         clocks = ['monotonic', 'perf_counter', 'process_time', 'time']
-        if hasattr(time, 'clock'):
-            clocks.append('clock')
 
         for name in clocks:
-            if name == 'clock':
-                with self.assertWarns(DeprecationWarning):
-                    info = time.get_clock_info('clock')
-            else:
-                info = time.get_clock_info(name)
+            info = time.get_clock_info(name)
 
             #self.assertIsInstance(info, dict)
             self.assertIsInstance(info.implementation, str)
diff --git a/Misc/NEWS.d/next/Library/2019-05-12-14-49-13.bpo-36895.ZZuuY7.rst b/Misc/NEWS.d/next/Library/2019-05-12-14-49-13.bpo-36895.ZZuuY7.rst
new file mode 100644
index 000000000000..f6708abfc860
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2019-05-12-14-49-13.bpo-36895.ZZuuY7.rst
@@ -0,0 +1,2 @@
+The function ``time.clock()`` was deprecated in 3.3 in favor of
+``time.perf_counter()`` and marked for removal in 3.8, it has removed.
diff --git a/Modules/timemodule.c b/Modules/timemodule.c
index 3df17ac4fb68..f991f31ee15e 100644
--- a/Modules/timemodule.c
+++ b/Modules/timemodule.c
@@ -145,44 +145,6 @@ perf_counter(_Py_clock_info_t *info)
     return _PyFloat_FromPyTime(t);
 }
 
-#if (defined(MS_WINDOWS) || defined(HAVE_CLOCK)) && !defined(__VXWORKS__)
-#define PYCLOCK
-static PyObject*
-pyclock(_Py_clock_info_t *info)
-{
-    if (PyErr_WarnEx(PyExc_DeprecationWarning,
-                      "time.clock has been deprecated in Python 3.3 and will "
-                      "be removed from Python 3.8: "
-                      "use time.perf_counter or time.process_time "
-                      "instead", 1) < 0) {
-        return NULL;
-    }
-
-#ifdef MS_WINDOWS
-    return perf_counter(info);
-#else
-    _PyTime_t t;
-    if (_PyTime_GetClockWithInfo(&t, info) < 0) {
-        return NULL;
-    }
-    return _PyFloat_FromPyTime(t);
-#endif
-}
-
-static PyObject *
-time_clock(PyObject *self, PyObject *unused)
-{
-    return pyclock(NULL);
-}
-
-PyDoc_STRVAR(clock_doc,
-"clock() -> floating point number\n\
-\n\
-Return the CPU time or real time since the start of the process or since\n\
-the first call to clock().  This has as much precision as the system\n\
-records.");
-#endif
-
 #ifdef HAVE_CLOCK_GETTIME
 static PyObject *
 time_clock_gettime(PyObject *self, PyObject *args)
@@ -1477,15 +1439,6 @@ time_get_clock_info(PyObject *self, PyObject *args)
             return NULL;
         }
     }
-#ifdef PYCLOCK
-    else if (strcmp(name, "clock") == 0) {
-        obj = pyclock(&info);
-        if (obj == NULL) {
-            return NULL;
-        }
-        Py_DECREF(obj);
-    }
-#endif
     else if (strcmp(name, "monotonic") == 0) {
         if (_PyTime_GetMonotonicClockWithInfo(&t, &info) < 0) {
             return NULL;
@@ -1700,9 +1653,6 @@ init_timezone(PyObject *m)
 static PyMethodDef time_methods[] = {
     {"time",            time_time, METH_NOARGS, time_doc},
     {"time_ns",         time_time_ns, METH_NOARGS, time_ns_doc},
-#ifdef PYCLOCK
-    {"clock",           time_clock, METH_NOARGS, clock_doc},
-#endif
 #ifdef HAVE_CLOCK_GETTIME
     {"clock_gettime",   time_clock_gettime, METH_VARARGS, clock_gettime_doc},
     {"clock_gettime_ns",time_clock_gettime_ns, METH_VARARGS, clock_gettime_ns_doc},



More information about the Python-checkins mailing list