Mercurial > cpython-lru_cache-weakref
annotate Modules/timingmodule.c @ 6719:faebc1940432 legacy-trunk
Understand -Xlinker option.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Tue, 02 Dec 1997 20:38:11 +0000 |
| parents | ca9aa47411de |
| children | 38023a425e48 |
| 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 * |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
11 start_timing(self, args) |
| 4949 | 12 PyObject *self; |
| 13 PyObject *args; | |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
14 { |
| 4949 | 15 if (!PyArg_Parse(args, "")) |
| 16 return NULL; | |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
17 |
| 4949 | 18 Py_INCREF(Py_None); |
| 19 BEGINTIMING; | |
| 20 return Py_None; | |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
21 } |
|
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
22 |
| 4949 | 23 static PyObject * |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
24 finish_timing(self, args) |
| 4949 | 25 PyObject *self; |
| 26 PyObject *args; | |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
27 { |
| 4949 | 28 if (!PyArg_Parse(args, "")) |
| 29 return NULL; | |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
30 |
| 4949 | 31 ENDTIMING |
| 32 Py_INCREF(Py_None); | |
| 33 return Py_None; | |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
34 } |
|
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
35 |
| 4949 | 36 static PyObject * |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
37 seconds(self, args) |
| 4949 | 38 PyObject *self; |
| 39 PyObject *args; | |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
40 { |
| 4949 | 41 if (!PyArg_Parse(args, "")) |
| 42 return NULL; | |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
43 |
| 4949 | 44 return PyInt_FromLong(TIMINGS); |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
45 |
|
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
46 } |
|
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
47 |
| 4949 | 48 static PyObject * |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
49 milli(self, args) |
| 4949 | 50 PyObject *self; |
| 51 PyObject *args; | |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
52 { |
| 4949 | 53 if (!PyArg_Parse(args, "")) |
| 54 return NULL; | |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
55 |
| 4949 | 56 return PyInt_FromLong(TIMINGMS); |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
57 |
|
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
58 } |
| 4949 | 59 static PyObject * |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
60 micro(self, args) |
| 4949 | 61 PyObject *self; |
| 62 PyObject *args; | |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
63 { |
| 4949 | 64 if (!PyArg_Parse(args, "")) |
| 65 return NULL; | |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
66 |
| 4949 | 67 return PyInt_FromLong(TIMINGUS); |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
68 |
|
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 |
| 4949 | 72 static PyMethodDef timing_methods[] = { |
| 73 {"start", start_timing}, | |
| 74 {"finish", finish_timing}, | |
| 75 {"seconds", seconds}, | |
| 76 {"milli", milli}, | |
| 77 {"micro", micro}, | |
| 78 {NULL, NULL} | |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
79 }; |
|
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
80 |
|
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
81 |
|
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
82 void inittiming() |
|
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
83 { |
| 4949 | 84 (void)Py_InitModule("timing", timing_methods); |
| 85 if (PyErr_Occurred()) | |
| 86 Py_FatalError("can't initialize module timing"); | |
|
1474
2064b16709f2
Added George Neville-Neil's timing module
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
87 } |
