This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients belopolsky, loewis, pitrou, tim.peters, vstinner
Date 2014-09-04.22:18:02
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1409869090.75.0.508744175656.issue22117@psf.upfronthosting.co.za>
In-reply-to
Content
And now, something completly different.

nanosec-wip.patch is a work-in-progress patch to use a unified (64 bits) integer type to store a timestamp: _PyTime_t. The type is written to be opaque, the unit is undefined, you must use functions to convert from and to this type. Well, in fact it's just a number of nanoseconds.

The patch is large:

 Include/pytime.h          |  125 ++++++-----
 Modules/_datetimemodule.c |   43 ++--
 Modules/_testcapimodule.c |   25 +-
 Modules/_threadmodule.c   |  156 +++++++-------
 Modules/gcmodule.c        |   12 -
 Modules/posixmodule.c     |   29 +-
 Modules/selectmodule.c    |   33 ---
 Modules/signalmodule.c    |   20 -
 Modules/socketmodule.c    |  151 ++++++++------
 Modules/socketmodule.h    |    2 
 Modules/timemodule.c      |   40 ++-
 Python/pytime.c           |  480 +++++++++++++++++++++++++++++-----------------
 12 files changed, 645 insertions(+), 471 deletions(-)

Conversion functions require a rounding mode.

I didn't update all tests yet. For example, test_datetime crash, test_time and test_threading fail. There are also 3 remaining FIXME for myself in pytime.c.
History
Date User Action Args
2014-09-04 22:18:10vstinnersetrecipients: + vstinner, tim.peters, loewis, belopolsky, pitrou
2014-09-04 22:18:10vstinnersetmessageid: <1409869090.75.0.508744175656.issue22117@psf.upfronthosting.co.za>
2014-09-04 22:18:10vstinnerlinkissue22117 messages
2014-09-04 22:18:10vstinnercreate