ref: a7f5ecaf636e38f407c951d0e86dcc4c4f424bd6
dir: /sys/src/cmd/python/Modules/timingmodule.c/
/* * Author: George V. Neville-Neil */ #include "Python.h" /* Our stuff... */ #include "timing.h" static PyObject * start_timing(PyObject *self) { Py_INCREF(Py_None); BEGINTIMING; return Py_None; } static PyObject * finish_timing(PyObject *self) { ENDTIMING Py_INCREF(Py_None); return Py_None; } static PyObject * seconds(PyObject *self) { return PyInt_FromLong(TIMINGS); } static PyObject * milli(PyObject *self) { return PyInt_FromLong(TIMINGMS); } static PyObject * micro(PyObject *self) { return PyInt_FromLong(TIMINGUS); } static PyMethodDef timing_methods[] = { {"start", (PyCFunction)start_timing, METH_NOARGS}, {"finish", (PyCFunction)finish_timing, METH_NOARGS}, {"seconds", (PyCFunction)seconds, METH_NOARGS}, {"milli", (PyCFunction)milli, METH_NOARGS}, {"micro", (PyCFunction)micro, METH_NOARGS}, {NULL, NULL} }; PyMODINIT_FUNC inittiming(void) { (void)Py_InitModule("timing", timing_methods); }