<p>+1. I now prefer time.monotonic(), no flags. It attempts to be as high precision as possible and guarantees never to jump backwards. Russell&#39;s comment is right, the only steady sources are from hardware, and these are too equipment and operating system specific. (For this call anyway). </p>

<div class="gmail_quote">On Mar 16, 2012 3:23 AM, &quot;Russell E. Owen&quot; &lt;<a href="mailto:rowen@uw.edu">rowen@uw.edu</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
In article<br>
&lt;EFE3877620384242A686D52278B7CCD3362609@RKV-IT-EXCH104.ccp.ad.local&gt;,<br>
 Kristján Valur Jónsson &lt;<a href="mailto:kristjan@ccpgames.com">kristjan@ccpgames.com</a>&gt; wrote:<br>
<br>
&gt; What does &quot;jumping forward&quot; mean?  That&#39;s what happens with every clock at<br>
&gt; every time quantum.  The only effect here is that this clock will be slightly<br>
&gt; noisy, i.e. its precision becomes worse.  On average it is still correct.<br>
&gt; Look at the use cases for this function<br>
&gt; 1) to enable timeouts for certaing operations, like acquiring locks:<br>
&gt;       Jumping backwards is bad, because that may cause infinite wait time.  But<br>
&gt; jumping forwards is ok, it may just mean that your lock times out a bit early<br>
&gt; 2) performance measurements:<br>
&gt;       If you are running on a platform with a broken runtime clock, you are not<br>
&gt; likely to be running performance measurements.<br>
&gt;<br>
&gt; Really, I urge you to skip the &quot;strict&quot; keyword.  It just adds confusion.<br>
&gt; Instead, lets just give the best monotonic clock we can do which doesn&quot;t move<br>
&gt; backwards.<br>
&gt; Let&#39;s just provide a &quot;practical&quot; real time clock with high resolution that is<br>
&gt; appropriate for providing timeout functionality and so won&#39;t jump backwards<br>
&gt; for the next 20 years.  Let&#39;s simply point out to people that it may not be<br>
&gt; appropriate for high precision timings on old and obsolete hardware and be<br>
&gt; done with it.<br>
<br>
I agree. I prefer the name time.monotonic with no flags. It will suit<br>
most use cases. I think supplying truly steady time is a low level<br>
hardware function (e.g. buy a GPS timer card) with a driver.<br>
<br>
-- Russell<br>
<br>
<br>_______________________________________________<br>
Python-Dev mailing list<br>
<a href="mailto:Python-Dev@python.org">Python-Dev@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/python-dev" target="_blank">http://mail.python.org/mailman/listinfo/python-dev</a><br>
Unsubscribe: <a href="http://mail.python.org/mailman/options/python-dev/anacrolix%40gmail.com" target="_blank">http://mail.python.org/mailman/options/python-dev/anacrolix%40gmail.com</a><br>
<br></blockquote></div>