- 06 Eyl, 2016 1 kayıt (commit)
-
-
Benjamin Peterson yazdı
-
- 18 Eyl, 2015 2 kayıt (commit)
-
-
Victor Stinner yazdı
On Windows, the tv_sec field of the timeval structure has the type C long, whereas it has the type C time_t on all other platforms. A C long has a size of 32 bits (signed inter, 1 bit for the sign, 31 bits for the value) which is not enough to store an Epoch timestamp after the year 2038. Add the _PyTime_AsTimevalTime_t() function written for datetime.datetime.now(): convert a _PyTime_t timestamp to a (secs, us) tuple where secs type is time_t. It allows to support dates after the year 2038 on Windows. Enhance also _PyTime_AsTimeval_impl() to detect overflow on the number of seconds when rounding the number of microseconds.
-
Victor Stinner yazdı
On Windows, the tv_sec field of the timeval structure has the type C long, whereas it has the type C time_t on all other platforms. A C long has a size of 32 bits (signed inter, 1 bit for the sign, 31 bits for the value) which is not enough to store an Epoch timestamp after the year 2038. Add the _PyTime_AsTimevalTime_t() function written for datetime.datetime.now(): convert a _PyTime_t timestamp to a (secs, us) tuple where secs type is time_t. It allows to support dates after the year 2038 on Windows. Enhance also _PyTime_AsTimeval_impl() to detect overflow on the number of seconds when rounding the number of microseconds.
-
- 09 Eyl, 2015 1 kayıt (commit)
-
-
Victor Stinner yazdı
-
- 08 Eyl, 2015 1 kayıt (commit)
-
-
Victor Stinner yazdı
datetime.datetime now round microseconds to nearest with ties going to nearest even integer (ROUND_HALF_EVEN), as round(float), instead of rounding towards -Infinity (ROUND_FLOOR). pytime API: replace _PyTime_ROUND_HALF_UP with _PyTime_ROUND_HALF_EVEN. Fix also _PyTime_Divide() for negative numbers. _PyTime_AsTimeval_impl() now reuses _PyTime_Divide() instead of reimplementing rounding modes.
-
- 02 Eyl, 2015 1 kayıt (commit)
-
-
Victor Stinner yazdı
with ties going away from zero (ROUND_HALF_UP), as Python 2 and Python older than 3.3, instead of rounding to nearest with ties going to nearest even integer (ROUND_HALF_EVEN).
-
- 01 Eyl, 2015 1 kayıt (commit)
-
-
Victor Stinner yazdı
-
- 09 Nis, 2015 1 kayıt (commit)
-
-
Victor Stinner yazdı
Use -1 second by default, not -1 nanosecond.
-
- 03 Nis, 2015 1 kayıt (commit)
-
-
Victor Stinner yazdı
Fix also _Py_InitializeEx_Private(): initialize time before initializing import, import_init() uses the _PyTime API (for thread locks).
-
- 30 Mar, 2015 4 kayıt (commit)
-
-
Victor Stinner yazdı
-
Victor Stinner yazdı
Use _PyTime_ROUND_FLOOR and _PyTime_ROUND_CEILING instead.
-
Victor Stinner yazdı
Add also more tests for ROUNd_FLOOR.
-
Victor Stinner yazdı
Add _PyTime_AsTimeval_noraise() function. Call it when it's not possible (or not useful) to raise a Python exception on overflow.
-
- 29 Mar, 2015 2 kayıt (commit)
-
-
Victor Stinner yazdı
-
Victor Stinner yazdı
* Remove _PyTime_gettimeofday() * Add _PyTime_GetSystemClock()
-
- 28 Mar, 2015 6 kayıt (commit)
-
-
Victor Stinner yazdı
module. time.clock_settime() now uses this rounding method instead of _PyTime_ROUND_DOWN to handle correctly dates before 1970.
-
Victor Stinner yazdı
Remove also the now unused _PyTime_AddDouble() function.
-
Victor Stinner yazdı
-
Victor Stinner yazdı
Add also a new _PyTime_AsMicroseconds() function. threading.TIMEOUT_MAX is now be smaller: only 292 years instead of 292,271 years on 64-bit system for example. Sorry, your threads will hang a *little bit* shorter. Call me if you want to ensure that your locks wait longer, I can share some tricks with you.
-
Victor Stinner yazdı
-
Victor Stinner yazdı
* _PyTime_AsTimeval() now ensures that tv_usec is always positive * _PyTime_AsTimespec() now ensures that tv_nsec is always positive * _PyTime_AsTimeval() now returns an integer on overflow instead of raising an exception
-
- 27 Mar, 2015 5 kayıt (commit)
-
-
Victor Stinner yazdı
* Add _PyTime_AsTimespec() * Add unit tests for _PyTime_AsTimespec()
-
Victor Stinner yazdı
* Add _PyTime_GetSystemClockWithInfo()
-
Victor Stinner yazdı
* Add _PyTime_FromNanoseconds() * Add _PyTime_AsSecondsDouble() * Add unit tests for _PyTime_AsSecondsDouble()
-
Victor Stinner yazdı
* Rename _PyTime_FromObject() to _PyTime_FromSecondsObject() * Add _PyTime_AsNanosecondsObject() and _testcapi.pytime_fromsecondsobject() * Add unit tests
-
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.
-
- 20 Mar, 2015 1 kayıt (commit)
-
-
Victor Stinner yazdı
interrupted by a signal Add a new _PyTime_AddDouble() function and remove _PyTime_ADD_SECONDS() macro. The _PyTime_ADD_SECONDS only supported an integer number of seconds, the _PyTime_AddDouble() has subsecond resolution.
-
- 02 Eyl, 2014 1 kayıt (commit)
-
-
Victor Stinner yazdı
threading.Lock.acquire(), threading.RLock.acquire() and socket operations now use a monotonic clock, instead of the system clock, when a timeout is used.
-
- 31 Agu, 2014 1 kayıt (commit)
-
-
Victor Stinner yazdı
-
- 29 Agu, 2014 1 kayıt (commit)
-
-
Victor Stinner yazdı
Other changes: * The whole _PyTime API is private (not defined if Py_LIMITED_API is set) * _PyTime_gettimeofday_info() also returns -1 on error * Simplify PyTime_gettimeofday(): only use clock_gettime(CLOCK_REALTIME) or gettimeofday() on UNIX. Don't fallback to ftime() or time() anymore.
-
- 16 Şub, 2014 1 kayıt (commit)
-
-
Victor Stinner yazdı
aways from zero, instead of rounding towards zero. It should make test_asyncio more reliable, especially test_timeout_rounding() test.
-
- 12 Haz, 2012 1 kayıt (commit)
-
-
Victor Stinner yazdı
Fix also its value on Windows and Linux according to its documentation: "adjustable" indicates if the clock *can be* adjusted, not if it is or was adjusted. In most cases, it is not possible to indicate if a clock is or was adjusted.
-
- 03 May, 2012 1 kayıt (commit)
-
-
Larry Hastings yazdı
Removed futimens as it is now redundant. Changed shutil.copystat to use st_atime_ns and st_mtime_ns from os.stat and ns= parameter to utime--it once again preserves exact metadata on Linux!
-
- 01 May, 2012 1 kayıt (commit)
-
-
Benjamin Peterson yazdı
-
- 29 Nis, 2012 1 kayıt (commit)
-
-
Victor Stinner yazdı
* Rename time.steady() to time.monotonic() * On Windows, time.monotonic() uses GetTickCount/GetTickCount64() instead of QueryPerformanceCounter() * time.monotonic() uses CLOCK_HIGHRES if available * Add time.get_clock_info(), time.perf_counter() and time.process_time() functions
-
- 19 Nis, 2012 1 kayıt (commit)
-
-
Larry Hastings yazdı
-
- 13 Mar, 2012 1 kayıt (commit)
-
-
Victor Stinner yazdı
time.ctime(), gmtime(), time.localtime(), datetime.date.fromtimestamp(), datetime.datetime.fromtimestamp() and datetime.datetime.utcfromtimestamp() now raises an OverflowError, instead of a ValueError, if the timestamp does not fit in time_t. datetime.datetime.fromtimestamp() and datetime.datetime.utcfromtimestamp() now round microseconds towards zero instead of rounding to nearest with ties going away from zero.
-
- 02 Mar, 2012 1 kayıt (commit)
-
-
Victor Stinner yazdı
Add a private API to convert an int or float to a C timespec structure.
-
- 08 Şub, 2012 2 kayıt (commit)
-
-
Victor Stinner yazdı
-
Victor Stinner yazdı
-