Mercurial > cpython-lru_cache-weakref
annotate Modules/timingmodule.c @ 25838:8540887bcec6 2.2
Backport of 2.183:
Fix memory leak in add_subclass() found by NealN with valgrind.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Fri, 18 Oct 2002 13:42:21 +0000 |
| parents | 5397fdf88ec2 |
| children | 40631ae74b17 |
| 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 | 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 | 10 static PyObject * |
| 13500 | 11 start_timing(PyObject *self, PyObject *args) |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
12 { |
| 4949 | 13 if (!PyArg_Parse(args, "")) |
| 14 return NULL; | |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
15 |
| 4949 | 16 Py_INCREF(Py_None); |
| 17 BEGINTIMING; | |
| 18 return Py_None; | |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
19 } |
|
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
20 |
| 4949 | 21 static PyObject * |
| 13500 | 22 finish_timing(PyObject *self, PyObject *args) |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
23 { |
| 4949 | 24 if (!PyArg_Parse(args, "")) |
| 25 return NULL; | |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
26 |
| 4949 | 27 ENDTIMING |
| 28 Py_INCREF(Py_None); | |
| 29 return Py_None; | |
|
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 | 32 static PyObject * |
| 13500 | 33 seconds(PyObject *self, PyObject *args) |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
34 { |
| 4949 | 35 if (!PyArg_Parse(args, "")) |
| 36 return NULL; | |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
37 |
| 4949 | 38 return PyInt_FromLong(TIMINGS); |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
39 |
|
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
40 } |
|
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
41 |
| 4949 | 42 static PyObject * |
| 13500 | 43 milli(PyObject *self, PyObject *args) |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
44 { |
| 4949 | 45 if (!PyArg_Parse(args, "")) |
| 46 return NULL; | |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
47 |
| 4949 | 48 return PyInt_FromLong(TIMINGMS); |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
49 |
|
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
50 } |
| 4949 | 51 static PyObject * |
| 13500 | 52 micro(PyObject *self, PyObject *args) |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
53 { |
| 4949 | 54 if (!PyArg_Parse(args, "")) |
| 55 return NULL; | |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
56 |
| 4949 | 57 return PyInt_FromLong(TIMINGUS); |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
58 |
|
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
59 } |
|
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
60 |
|
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
61 |
| 4949 | 62 static PyMethodDef timing_methods[] = { |
| 63 {"start", start_timing}, | |
| 64 {"finish", finish_timing}, | |
| 65 {"seconds", seconds}, | |
| 66 {"milli", milli}, | |
| 67 {"micro", micro}, | |
| 68 {NULL, NULL} | |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
69 }; |
|
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
70 |
|
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
71 |
|
13651
8a063423e0b7
Bunch of minor ANSIfications: 'void initfunc()' -> 'void initfunc(void)',
Thomas Wouters <thomas@python.org>
parents:
13500
diff
changeset
|
72 DL_EXPORT(void) inittiming(void) |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
73 { |
| 4949 | 74 (void)Py_InitModule("timing", timing_methods); |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
75 } |
