annotate Modules/timingmodule.c @ 49955:878d40468c4e legacy-trunk

Issue #4384: Added logging integration with warnings module using captureWarnings(). This change includes a NullHandler which does nothing; it will be of use to library developers who want to avoid the "No handlers could be found for logger XXX" message which can appear if the library user doesn't configure logging.
author Vinay Sajip <vinay_sajip@yahoo.co.uk>
date Wed, 03 Dec 2008 23:22:58 +0000
parents c1a68f540d5b
children fd25030223b0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1474
2064b16709f2 Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff changeset
1 /*
2064b16709f2 Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff changeset
2 * Author: George V. Neville-Neil
2064b16709f2 Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff changeset
3 */
2064b16709f2 Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff changeset
4
4949
ca9aa47411de Renamed.
Barry Warsaw <barry@python.org>
parents: 2735
diff changeset
5 #include "Python.h"
1474
2064b16709f2 Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff changeset
6
2064b16709f2 Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff changeset
7 /* Our stuff... */
2064b16709f2 Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff changeset
8 #include "timing.h"
2064b16709f2 Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff changeset
9
4949
ca9aa47411de Renamed.
Barry Warsaw <barry@python.org>
parents: 2735
diff changeset
10 static PyObject *
22708
aea6dfeaaab8 Convert from using METH_OLDARGS to METH_NOARGS.
Neal Norwitz <nnorwitz@gmail.com>
parents: 21757
diff changeset
11 start_timing(PyObject *self)
1474
2064b16709f2 Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff changeset
12 {
4949
ca9aa47411de Renamed.
Barry Warsaw <barry@python.org>
parents: 2735
diff changeset
13 Py_INCREF(Py_None);
ca9aa47411de Renamed.
Barry Warsaw <barry@python.org>
parents: 2735
diff changeset
14 BEGINTIMING;
ca9aa47411de Renamed.
Barry Warsaw <barry@python.org>
parents: 2735
diff changeset
15 return Py_None;
1474
2064b16709f2 Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff changeset
16 }
2064b16709f2 Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff changeset
17
4949
ca9aa47411de Renamed.
Barry Warsaw <barry@python.org>
parents: 2735
diff changeset
18 static PyObject *
22708
aea6dfeaaab8 Convert from using METH_OLDARGS to METH_NOARGS.
Neal Norwitz <nnorwitz@gmail.com>
parents: 21757
diff changeset
19 finish_timing(PyObject *self)
1474
2064b16709f2 Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff changeset
20 {
4949
ca9aa47411de Renamed.
Barry Warsaw <barry@python.org>
parents: 2735
diff changeset
21 ENDTIMING
ca9aa47411de Renamed.
Barry Warsaw <barry@python.org>
parents: 2735
diff changeset
22 Py_INCREF(Py_None);
ca9aa47411de Renamed.
Barry Warsaw <barry@python.org>
parents: 2735
diff changeset
23 return Py_None;
1474
2064b16709f2 Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff changeset
24 }
2064b16709f2 Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff changeset
25
4949
ca9aa47411de Renamed.
Barry Warsaw <barry@python.org>
parents: 2735
diff changeset
26 static PyObject *
22708
aea6dfeaaab8 Convert from using METH_OLDARGS to METH_NOARGS.
Neal Norwitz <nnorwitz@gmail.com>
parents: 21757
diff changeset
27 seconds(PyObject *self)
1474
2064b16709f2 Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff changeset
28 {
4949
ca9aa47411de Renamed.
Barry Warsaw <barry@python.org>
parents: 2735
diff changeset
29 return PyInt_FromLong(TIMINGS);
1474
2064b16709f2 Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff changeset
30 }
2064b16709f2 Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff changeset
31
4949
ca9aa47411de Renamed.
Barry Warsaw <barry@python.org>
parents: 2735
diff changeset
32 static PyObject *
22708
aea6dfeaaab8 Convert from using METH_OLDARGS to METH_NOARGS.
Neal Norwitz <nnorwitz@gmail.com>
parents: 21757
diff changeset
33 milli(PyObject *self)
1474
2064b16709f2 Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff changeset
34 {
4949
ca9aa47411de Renamed.
Barry Warsaw <barry@python.org>
parents: 2735
diff changeset
35 return PyInt_FromLong(TIMINGMS);
1474
2064b16709f2 Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff changeset
36 }
22708
aea6dfeaaab8 Convert from using METH_OLDARGS to METH_NOARGS.
Neal Norwitz <nnorwitz@gmail.com>
parents: 21757
diff changeset
37
4949
ca9aa47411de Renamed.
Barry Warsaw <barry@python.org>
parents: 2735
diff changeset
38 static PyObject *
22708
aea6dfeaaab8 Convert from using METH_OLDARGS to METH_NOARGS.
Neal Norwitz <nnorwitz@gmail.com>
parents: 21757
diff changeset
39 micro(PyObject *self)
1474
2064b16709f2 Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff changeset
40 {
4949
ca9aa47411de Renamed.
Barry Warsaw <barry@python.org>
parents: 2735
diff changeset
41 return PyInt_FromLong(TIMINGUS);
1474
2064b16709f2 Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff changeset
42 }
2064b16709f2 Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff changeset
43
2064b16709f2 Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff changeset
44
4949
ca9aa47411de Renamed.
Barry Warsaw <barry@python.org>
parents: 2735
diff changeset
45 static PyMethodDef timing_methods[] = {
22708
aea6dfeaaab8 Convert from using METH_OLDARGS to METH_NOARGS.
Neal Norwitz <nnorwitz@gmail.com>
parents: 21757
diff changeset
46 {"start", (PyCFunction)start_timing, METH_NOARGS},
aea6dfeaaab8 Convert from using METH_OLDARGS to METH_NOARGS.
Neal Norwitz <nnorwitz@gmail.com>
parents: 21757
diff changeset
47 {"finish", (PyCFunction)finish_timing, METH_NOARGS},
aea6dfeaaab8 Convert from using METH_OLDARGS to METH_NOARGS.
Neal Norwitz <nnorwitz@gmail.com>
parents: 21757
diff changeset
48 {"seconds", (PyCFunction)seconds, METH_NOARGS},
aea6dfeaaab8 Convert from using METH_OLDARGS to METH_NOARGS.
Neal Norwitz <nnorwitz@gmail.com>
parents: 21757
diff changeset
49 {"milli", (PyCFunction)milli, METH_NOARGS},
aea6dfeaaab8 Convert from using METH_OLDARGS to METH_NOARGS.
Neal Norwitz <nnorwitz@gmail.com>
parents: 21757
diff changeset
50 {"micro", (PyCFunction)micro, METH_NOARGS},
4949
ca9aa47411de Renamed.
Barry Warsaw <barry@python.org>
parents: 2735
diff changeset
51 {NULL, NULL}
1474
2064b16709f2 Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff changeset
52 };
2064b16709f2 Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff changeset
53
2064b16709f2 Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff changeset
54
24471
f66b3a3509c7 Excise DL_EXPORT/DL_IMPORT from Modules/*. Required adding a prototype
Mark Hammond <mhammond@skippinet.com.au>
parents: 22708
diff changeset
55 PyMODINIT_FUNC inittiming(void)
1474
2064b16709f2 Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff changeset
56 {
46937
c1a68f540d5b Deprecate the timing module for removal in Python 3.0.
Brett Cannon <bcannon@gmail.com>
parents: 24471
diff changeset
57 if (PyErr_WarnPy3k("the timing module has been removed in "
c1a68f540d5b Deprecate the timing module for removal in Python 3.0.
Brett Cannon <bcannon@gmail.com>
parents: 24471
diff changeset
58 "Python 3.0; use time.clock() instead", 2) < 0)
c1a68f540d5b Deprecate the timing module for removal in Python 3.0.
Brett Cannon <bcannon@gmail.com>
parents: 24471
diff changeset
59 return;
c1a68f540d5b Deprecate the timing module for removal in Python 3.0.
Brett Cannon <bcannon@gmail.com>
parents: 24471
diff changeset
60
4949
ca9aa47411de Renamed.
Barry Warsaw <barry@python.org>
parents: 2735
diff changeset
61 (void)Py_InitModule("timing", timing_methods);
1474
2064b16709f2 Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff changeset
62 }