(sort of) deterministic timing in Python

Chris Mellon arkanes at gmail.com
Fri Aug 17 10:13:51 EDT 2007


On 8/17/07, Hendrik van Rooyen <mail at microcorp.co.za> wrote:
>
>  "Paul Rubin" <http://p..id> wrote:
>
>
> >johnmfisher at comcast.net (John Fisher) writes:
> >> mark start time
> >> start event
> >>         event finishes
> >> count time until next interval
> >> start second event…
> >>
> >> rather than this:
> >>
> >> start event
> >>         event finishes
> >> sleep for interval
> >> start second event
> >> ...
> >> So how do I accomplish this in Python with a minimum of labour?
> >
> >Normally I'd use something like:
> >
> >   from time import time
> >
> >   t0 = time()
> >   start event ... event finishes
> >   t1 = time()
> >   elapsed = t1 - t0
> >   sleep(interval - elapsed)
> >   start second event ...
> >
> >Am I missing something?
>
> Not much - only beware of cases when elapsed is greater than
> interval - not sure what time.sleep(negative_number) does.
>

On Windows 2k3, Python 2.5 it sleeps forever (or almost forever? Maybe
a signed/unsigned thing) so yeah, be careful of it.



More information about the Python-list mailing list