[issue14428] Implementation of the PEP 418

2012-06-05 Thread Antoine Pitrou
Antoine Pitrou added the comment: I don't know what you two are arguing about, since the process_time() doc says "Return the value (in fractional seconds) of the sum of the system and user CPU time of the current process". (while I'm not sure what "fractional" seconds are, they are probably s

[issue14428] Implementation of the PEP 418

2012-06-05 Thread Charles-François Natali
Charles-François Natali added the comment: > I'm closing again this issue. > > @neologix: Please open a new issue if you disagree with me on the definition > of "seconds" for time.process_time(). I won't reopen, but I still disagree with your definition. process_time() returns second, as does

[issue14428] Implementation of the PEP 418

2012-06-04 Thread STINNER Victor
STINNER Victor added the comment: I'm closing again this issue. @neologix: Please open a new issue if you disagree with me on the definition of "seconds" for time.process_time(). -- status: open -> closed ___ Python tracker

[issue14428] Implementation of the PEP 418

2012-05-30 Thread STINNER Victor
STINNER Victor added the comment: > It really looks like seconds to me, definitely not jiffies ;-) time.process_time() uses maybe "seconds" on Linux, but it doesn't include time elapsed during sleep. See the test: def test_process_time(self): start = time.process_time() ti

[issue14428] Implementation of the PEP 418

2012-04-29 Thread Charles-François Natali
Charles-François Natali added the comment: > Yes, dt is not a number of seconds in the following example: > > t1=time.process_time(); (...); t2=time.process_time(); dt=t2-t1 OK, so what is it then? It's not written anywhere - neither in the PEP nor in the documentation - and it should. Further

[issue14428] Implementation of the PEP 418

2012-04-29 Thread STINNER Victor
STINNER Victor added the comment: > You mean that process_time() doesn't return seconds? Yes, dt is not a number of seconds in the following example: t1=time.process_time(); (...); t2=time.process_time(); dt=t2-t1 > I see two options: either increase the total running time, > to make it reall

[issue14428] Implementation of the PEP 418

2012-04-29 Thread Roundup Robot
Roundup Robot added the comment: New changeset ad3d6010379b by Victor Stinner in branch 'default': Issue #14428: Remove test_process_time_threads() from test_time http://hg.python.org/cpython/rev/ad3d6010379b -- ___ Python tracker

[issue14428] Implementation of the PEP 418

2012-04-29 Thread Roundup Robot
Roundup Robot added the comment: New changeset 0bdf0727ee29 by Victor Stinner in branch 'default': Issue #14428: Make test_process_time_threads() less strict http://hg.python.org/cpython/rev/0bdf0727ee29 -- ___ Python tracker

[issue14428] Implementation of the PEP 418

2012-04-29 Thread Antoine Pitrou
Antoine Pitrou added the comment: There are many sporadic failures on the buildbots: == FAIL: test_process_time_threads (test.test_time.TimeTestCase) -- Trac

[issue14428] Implementation of the PEP 418

2012-04-29 Thread Charles-François Natali
Charles-François Natali added the comment: > Hum, the problem is maybe that the thread is preempted, but the first > problem is that the test considers that time.process_time() uses seconds. Hum, what? You mean that process_time() doesn't return seconds? -- ___

[issue14428] Implementation of the PEP 418

2012-04-29 Thread STINNER Victor
STINNER Victor added the comment: "The test is a bit too optimistic: a thread is looping for 0.2s, and the test checks that the process time (user + system) increased of at least 0.1s. If the thread is preempted, there's a high chance you won't get even as low as 0.1s." Hum, the problem is ma

[issue14428] Implementation of the PEP 418

2012-04-29 Thread Roundup Robot
Roundup Robot added the comment: New changeset 1255cac63dfc by Victor Stinner in branch 'default': Issue #14428: Rewrite test_process_time_threads() test http://hg.python.org/cpython/rev/1255cac63dfc -- ___ Python tracker

[issue14428] Implementation of the PEP 418

2012-04-29 Thread Charles-François Natali
Charles-François Natali added the comment: test_process_time_threads is failing on one of the buildbots: """ == FAIL: test_process_time_threads (test.test_time.TimeTestCase) --

[issue14428] Implementation of the PEP 418

2012-04-28 Thread Roundup Robot
Roundup Robot added the comment: New changeset bd195749c0a2 by Victor Stinner in branch 'default': Issue #14428: Use the new time.perf_counter() and time.process_time() functions http://hg.python.org/cpython/rev/bd195749c0a2 -- ___ Python tracker

[issue14428] Implementation of the PEP 418

2012-04-28 Thread STINNER Victor
STINNER Victor added the comment: Guido van Rossum accepted the PEP, let's commit the implementation. -- resolution: -> fixed status: open -> closed ___ Python tracker ___

[issue14428] Implementation of the PEP 418

2012-04-28 Thread Roundup Robot
Roundup Robot added the comment: New changeset 76d2e0761d18 by Victor Stinner in branch 'default': Issue #14428, #14397: Implement the PEP 418 http://hg.python.org/cpython/rev/76d2e0761d18 -- nosy: +python-dev ___ Python tracker

[issue14428] Implementation of the PEP 418

2012-04-28 Thread STINNER Victor
Changes by STINNER Victor : Added file: http://bugs.python.org/file25397/4255e3c4daf2.diff ___ Python tracker ___ ___ Python-bugs-list mailing

[issue14428] Implementation of the PEP 418

2012-04-28 Thread STINNER Victor
STINNER Victor added the comment: 667541bb315c.diff: Updated patch, last change: is_adjusted key of time.get_clock_info() is now mandatory. -- ___ Python tracker ___ __

[issue14428] Implementation of the PEP 418

2012-04-28 Thread STINNER Victor
Changes by STINNER Victor : Added file: http://bugs.python.org/file25396/667541bb315c.diff ___ Python tracker ___ ___ Python-bugs-list mailing

[issue14428] Implementation of the PEP 418

2012-04-28 Thread STINNER Victor
Changes by STINNER Victor : Removed file: http://bugs.python.org/file25254/384190bb0bd5.diff ___ Python tracker ___ ___ Python-bugs-list maili

[issue14428] Implementation of the PEP 418

2012-04-28 Thread STINNER Victor
Changes by STINNER Victor : Removed file: http://bugs.python.org/file25395/9a93348e98e7.diff ___ Python tracker ___ ___ Python-bugs-list maili

[issue14428] Implementation of the PEP 418

2012-04-28 Thread STINNER Victor
Changes by STINNER Victor : Added file: http://bugs.python.org/file25395/9a93348e98e7.diff ___ Python tracker ___ ___ Python-bugs-list mailing

[issue14428] Implementation of the PEP 418

2012-04-28 Thread STINNER Victor
Changes by STINNER Victor : Removed file: http://bugs.python.org/file25393/4ba64ca9abcf.diff ___ Python tracker ___ ___ Python-bugs-list maili

[issue14428] Implementation of the PEP 418

2012-04-28 Thread STINNER Victor
Changes by STINNER Victor : Added file: http://bugs.python.org/file25393/4ba64ca9abcf.diff ___ Python tracker ___ ___ Python-bugs-list mailing

[issue14428] Implementation of the PEP 418

2012-04-19 Thread Arfrever Frehtes Taifersar Arahesis
Changes by Arfrever Frehtes Taifersar Arahesis : -- nosy: +Arfrever ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscri

[issue14428] Implementation of the PEP 418

2012-04-19 Thread Marc-Andre Lemburg
Marc-Andre Lemburg added the comment: STINNER Victor wrote: > > STINNER Victor added the comment: > >> Please leave the pybench default timers unchanged in case the >> new APIs are not available. > > Ok, done in the new patch: perf_counter_process_time-2.patch. Thanks. --

[issue14428] Implementation of the PEP 418

2012-04-18 Thread STINNER Victor
Changes by STINNER Victor : Removed file: http://bugs.python.org/file25210/pep418-9.patch ___ Python tracker ___ ___ Python-bugs-list mailing

[issue14428] Implementation of the PEP 418

2012-04-18 Thread STINNER Victor
Changes by STINNER Victor : Removed file: http://bugs.python.org/file25202/perf_counter_process_time.patch ___ Python tracker ___ ___ Python-b

[issue14428] Implementation of the PEP 418

2012-04-18 Thread STINNER Victor
STINNER Victor added the comment: > Please leave the pybench default timers unchanged in case the > new APIs are not available. Ok, done in the new patch: perf_counter_process_time-2.patch. -- Added file: http://bugs.python.org/file25265/perf_counter_process_time-2.patch _

[issue14428] Implementation of the PEP 418

2012-04-18 Thread Marc-Andre Lemburg
Marc-Andre Lemburg added the comment: Please leave the pybench default timers unchanged in case the new APIs are not available. The perf_counter_process_time.patch currently changes them, even though the new APIs are not available on older Python releases, thus breaking pybench for e.g. Python

[issue14428] Implementation of the PEP 418

2012-04-17 Thread STINNER Victor
STINNER Victor added the comment: > can you let us know when you think the patch is ready for review? Now! I created a repository for the PEP. I integrated my own last comments. I tested the PEP on Linux 3.3, FreeBSD 8, OpenBSD 5, OpenSolaris and Windows Seven. The implementation is ready fo

[issue14428] Implementation of the PEP 418

2012-04-17 Thread STINNER Victor
Changes by STINNER Victor : Removed file: http://bugs.python.org/file25253/aac59a3c11ef.diff ___ Python tracker ___ ___ Python-bugs-list maili

[issue14428] Implementation of the PEP 418

2012-04-17 Thread STINNER Victor
Changes by STINNER Victor : Added file: http://bugs.python.org/file25254/384190bb0bd5.diff ___ Python tracker ___ ___ Python-bugs-list mailing

[issue14428] Implementation of the PEP 418

2012-04-17 Thread STINNER Victor
Changes by STINNER Victor : Added file: http://bugs.python.org/file25253/aac59a3c11ef.diff ___ Python tracker ___ ___ Python-bugs-list mailing

[issue14428] Implementation of the PEP 418

2012-04-17 Thread STINNER Victor
Changes by STINNER Victor : -- hgrepos: +118 ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python

[issue14428] Implementation of the PEP 418

2012-04-17 Thread Charles-François Natali
Charles-François Natali added the comment: Victor, can you let us know when you think the patch is ready for review? -- ___ Python tracker ___ __

[issue14428] Implementation of the PEP 418

2012-04-17 Thread STINNER Victor
STINNER Victor added the comment: FreeBSD doesn't provide CLOCK_PROCESS_CPUTIME_ID, but CLOCK_PROF. CLOCK_PROF can be used instead of getrusage(), its precision can be read using clock_getres(). Something like "> #if defined(CLOCK_PROF) && defined(__FreeBSD__)" can be used. (By the way, "#if

[issue14428] Implementation of the PEP 418

2012-04-16 Thread STINNER Victor
STINNER Victor added the comment: The precision of mach_absolute_time() is known: it is timebase.numer / timebase.denom * 1e-9. -- ___ Python tracker ___ __

[issue14428] Implementation of the PEP 418

2012-04-13 Thread STINNER Victor
Changes by STINNER Victor : Removed file: http://bugs.python.org/file25209/pep418-8.patch ___ Python tracker ___ ___ Python-bugs-list mailing

[issue14428] Implementation of the PEP 418

2012-04-13 Thread STINNER Victor
Changes by STINNER Victor : Removed file: http://bugs.python.org/file25201/pep418-7.patch ___ Python tracker ___ ___ Python-bugs-list mailing

[issue14428] Implementation of the PEP 418

2012-04-13 Thread STINNER Victor
Changes by STINNER Victor : Removed file: http://bugs.python.org/file25126/pep418-6.patch ___ Python tracker ___ ___ Python-bugs-list mailing

[issue14428] Implementation of the PEP 418

2012-04-13 Thread STINNER Victor
STINNER Victor added the comment: Patch version 9: fixes for Windows (fix compilation and fix to code checking if GetTickCount64 is present). -- Added file: http://bugs.python.org/file25210/pep418-9.patch ___ Python tracker

[issue14428] Implementation of the PEP 418

2012-04-13 Thread STINNER Victor
STINNER Victor added the comment: Patch version 8: time.process_time() uses times() if available. Rename also "function" key of time.get_clock_info() with "implementation". -- Added file: http://bugs.python.org/file25209/pep418-8.patch ___ Python tr

[issue14428] Implementation of the PEP 418

2012-04-13 Thread Marc-Andre Lemburg
Marc-Andre Lemburg added the comment: STINNER Victor wrote: > > STINNER Victor added the comment: > > perf_counter_process_time.patch: replace "time.clock if windows else > time.time" with time.perf_counter, and getrusage/clock with time.process_time. > > pybench and timeit now use time.per

[issue14428] Implementation of the PEP 418

2012-04-12 Thread STINNER Victor
STINNER Victor added the comment: perf_counter_process_time.patch: replace "time.clock if windows else time.time" with time.perf_counter, and getrusage/clock with time.process_time. pybench and timeit now use time.perf_counter() by default. profile uses time.proces_time() by default. pybench

[issue14428] Implementation of the PEP 418

2012-04-12 Thread STINNER Victor
STINNER Victor added the comment: Patch version 7: - Add time.perf_counter() and time.process_time() - Replace "accuracy" key with "precision" in time.get_clock_info() result -- Added file: http://bugs.python.org/file25201/pep418-7.patch ___ Python

[issue14428] Implementation of the PEP 418

2012-04-10 Thread STINNER Victor
STINNER Victor added the comment: +if (has_getickcount64) { +ULONGLONG ticks; +ticks = Py_GetTickCount64(); +result = (double)ticks * 1e-3 +} ";" is missing after "1e-3", it does not compile on Windows because of this. -- ___

[issue14428] Implementation of the PEP 418

2012-04-04 Thread R. David Murray
Changes by R. David Murray : -- type: -> enhancement ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: http://ma

[issue14428] Implementation of the PEP 418

2012-04-04 Thread STINNER Victor
Changes by STINNER Victor : Removed file: http://bugs.python.org/file25108/pep418-4.patch ___ Python tracker ___ ___ Python-bugs-list mailing

[issue14428] Implementation of the PEP 418

2012-04-04 Thread STINNER Victor
Changes by STINNER Victor : Removed file: http://bugs.python.org/file25115/pep418-5.patch ___ Python tracker ___ ___ Python-bugs-list mailing

[issue14428] Implementation of the PEP 418

2012-04-04 Thread STINNER Victor
STINNER Victor added the comment: Version 6: simplify the code handling GetTickCounter() integer overflow. We don't need a has_last_ticks variable. -- Added file: http://bugs.python.org/file25126/pep418-6.patch ___ Python tracker

[issue14428] Implementation of the PEP 418

2012-04-04 Thread STINNER Victor
STINNER Victor added the comment: +#if defined(linux) || defined(__linux) || defined(__linux__) Hum, a better check should be done in configure and/or a macro like MS_WINDOWS should be added. -- ___ Python tracker

[issue14428] Implementation of the PEP 418

2012-04-04 Thread STINNER Victor
STINNER Victor added the comment: Patch version 5, updated to the last version of the PEP: - drop time.highres() - time.monotonic() is always monotonic but it not always available - add a test on time.monotonic() setting the system clock (jump backward wtih a delta of 1 hour) -- Add

[issue14428] Implementation of the PEP 418

2012-04-03 Thread STINNER Victor
STINNER Victor added the comment: > BTW: Are aware of the existing systimes.py module in pybench, > which already provides interfaces to high resolution timers usable > for benchmarking in a portable way ? Perhaps worth mentioning in > the PEP. Nope, I didn't know it. It mentioned it in the PEP

[issue14428] Implementation of the PEP 418

2012-04-03 Thread STINNER Victor
Changes by STINNER Victor : Removed file: http://bugs.python.org/file25103/pep418-3.patch ___ Python tracker ___ ___ Python-bugs-list mailing

[issue14428] Implementation of the PEP 418

2012-04-03 Thread STINNER Victor
Changes by STINNER Victor : Removed file: http://bugs.python.org/file25101/pep418-2.patch ___ Python tracker ___ ___ Python-bugs-list mailing

[issue14428] Implementation of the PEP 418

2012-04-03 Thread STINNER Victor
Changes by STINNER Victor : Removed file: http://bugs.python.org/file25053/pep418.patch ___ Python tracker ___ ___ Python-bugs-list mailing li

[issue14428] Implementation of the PEP 418

2012-04-03 Thread STINNER Victor
STINNER Victor added the comment: Patch version 4: - Rename time.monotonic() to time.steady() - Don't use CLOCK_MONOTONIC_RAW but CLOCK_MONOTONIC for time.highres() and time.steady() - Use CLOCK_HIGHRES, useful on Solaris - Rewrite time.highres() and time.steady() documentation --

[issue14428] Implementation of the PEP 418

2012-04-03 Thread Marc-Andre Lemburg
Marc-Andre Lemburg added the comment: STINNER Victor wrote: > > STINNER Victor added the comment: > >> I think you need to reconsider the time.steady() name you're using >> in the PEP. For practical purposes, it's better to call it >> time.monotonic() > > I opened a new thread on python-dev

[issue14428] Implementation of the PEP 418

2012-04-03 Thread STINNER Victor
STINNER Victor added the comment: > I think you need to reconsider the time.steady() name you're using > in the PEP. For practical purposes, it's better to call it > time.monotonic() I opened a new thread on python-dev to discuss this topic. > and only make the function available if the OS pro

[issue14428] Implementation of the PEP 418

2012-04-03 Thread Marc-Andre Lemburg
Marc-Andre Lemburg added the comment: Hi Victor, I think you need to reconsider the time.steady() name you're using in the PEP. For practical purposes, it's better to call it time.monotonic() and only make the function available if the OS provides a monotonic clock. The fallback to time.time()

[issue14428] Implementation of the PEP 418

2012-04-02 Thread STINNER Victor
STINNER Victor added the comment: TODO (pep418-3.patch): - Use CLOCK_HIGHRES on Solaris - Maybe implement gethrtime() for Solaris -- ___ Python tracker ___ ___

[issue14428] Implementation of the PEP 418

2012-04-02 Thread STINNER Victor
STINNER Victor added the comment: Solaris on x86_64: >>> pprint.pprint(time.get_clock_info('clock')) {'accuracy': 1e-06, 'function': 'clock()', 'is_adjusted': False, 'is_monotonic': True, 'resolution': 1e-06} >>> pprint.pprint(time.get_clock_info('highres')) {'accuracy': 2e-09, 'function':

[issue14428] Implementation of the PEP 418

2012-04-02 Thread STINNER Victor
STINNER Victor added the comment: Patch version 3: - fix compilation on non-Linux (e.g. on FreeBSD and OpenBSD) - time.monotonic() uses GetTickCount/GetTickCount64 on Windows - clock_getres() fills the accuracy field instead of the resolution field of time.get_clock_info() Clock informatio

[issue14428] Implementation of the PEP 418

2012-04-02 Thread STINNER Victor
STINNER Victor added the comment: Updated patch: - Implement time.get_clock_info() - time.monotonic() never fails: fallback to time.time() if needed TODO: time.monotonic() must use GetTickCount64() or GetTickCount() on Windows, with a detection of integer overflow on GetTickCount(). ---

[issue14428] Implementation of the PEP 418

2012-03-28 Thread Charles-François Natali
Charles-François Natali added the comment: Tiny review. Two more details: - since it's relatively straightforward to cache the last value returned using a static variable, it might be interesting to use this to make sure that the values returned are indeed monotonic - I'm not a native speaker

[issue14428] Implementation of the PEP 418

2012-03-27 Thread STINNER Victor
New submission from STINNER Victor : Attached patch implements the PEP 418: add time.monotonic() and time.hires(). In practice, it replaces time.steady() by time.hires() and time.steady(strict=True) by time.monotonic(). -- components: Library (Lib) files: pep418.patch keywords: patch m