• Victor Stinner's avatar
    Issue #22117: Add a new Python timestamp format _PyTime_t to pytime.h · cb29f017
    Victor Stinner yazdı
    In practice, _PyTime_t is a number of nanoseconds. Its C type is a 64-bit
    signed number. It's integer value is in the range [-2^63; 2^63-1]. In seconds,
    the range is around [-292 years; +292 years]. In term of Epoch timestamp
    (1970-01-01), it can store a date between 1677-09-21 and 2262-04-11.
    
    The API has a resolution of 1 nanosecond and use integer number. With a
    resolution on 1 nanosecond, 64-bit IEEE 754 floating point numbers loose
    precision after 194 days. It's not the case with this API. The drawback is
    overflow for values outside [-2^63; 2^63-1], but these values are unlikely for
    most Python modules, except of the datetime module.
    
    New functions:
    
    - _PyTime_GetMonotonicClock()
    - _PyTime_FromObject()
    - _PyTime_AsMilliseconds()
    - _PyTime_AsTimeval()
    
    This change uses these new functions in time.sleep() to avoid rounding issues.
    
    The new API will be extended step by step, and the old API will be removed step
    by step. Currently, some code is duplicated just to be able to move
    incrementally, instead of pushing a large change at once.
    cb29f017
Adı
Son kayıt (commit)
Son güncelleme
Doc Loading commit data...
Grammar Loading commit data...
Include Loading commit data...
Lib Loading commit data...
Mac Loading commit data...
Misc Loading commit data...
Modules Loading commit data...
Objects Loading commit data...
PC Loading commit data...
PCbuild Loading commit data...
Parser Loading commit data...
Programs Loading commit data...
Python Loading commit data...
Tools Loading commit data...
.bzrignore Loading commit data...
.gitignore Loading commit data...
.hgeol Loading commit data...
.hgignore Loading commit data...
.hgtags Loading commit data...
.hgtouch Loading commit data...
LICENSE Loading commit data...
Makefile.pre.in Loading commit data...
README Loading commit data...
config.guess Loading commit data...
config.sub Loading commit data...
configure Loading commit data...
configure.ac Loading commit data...
install-sh Loading commit data...
pyconfig.h.in Loading commit data...
setup.py Loading commit data...