This is great, but there are issues with QueryPerformanceCounter that I think ought to be pointed out if you aren&#39;t already aware of them. QPC is horribly unreliable<br>on some chipsets and, on some systems, when running on multiple cores. Both issues are decribed in the MS Knowledge Base,<br>
with the chipset problem at [1] and the multicore problem at [2]. In the latter, pay particular attention to point #4 in the Recommendations<br>section.<br><br>Starting with Vista, QPC will use the newer High Precision Event Timer [3], if available (which it should be for most systems running Vista or 7),<br>
so this becomes less of an issue. But for XP, which is still going to be relevant for a few more years at least, this is a big headache. You can<br>read more about timing issues in the PDF at [4].<br><br>If I were going to use this class in a game, I would expect it to take the recommended precautions on XP. Otherwise, I&#39;d just roll my own using<br>
timeGetTime. <br><br>[1] <a href="http://support.microsoft.com/kb/274323">http://support.microsoft.com/kb/274323</a><br>[2] <a href="http://msdn.microsoft.com/en-us/library/ee417693.aspx">http://msdn.microsoft.com/en-us/library/ee417693.aspx</a><br>
[3] <a href="http://en.wikipedia.org/wiki/High_Precision_Event_Timer">http://en.wikipedia.org/wiki/High_Precision_Event_Timer</a><br>[4] (direct PDF link) <a href="http://algo2.iti.kit.edu/wassenberg/timing/timing_pitfalls.pdf">http://algo2.iti.kit.edu/wassenberg/timing/timing_pitfalls.pdf</a><br>
<br><div class="gmail_quote">On Tue, Aug 17, 2010 at 7:43 PM, SHOO <span dir="ltr">&lt;<a href="mailto:zan77137@nifty.com">zan77137@nifty.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
I made the module of the stopwatch, so I suggest it again here.<br>
<br>
I suggested a time handling module that I called std.time before.<br>
Unfortunately itself was not able to contribute to Phobos for the issue<br>
of license. But, an important function was included in it. It is what is<br>
the StopWatch suggested this time.<br>
<br>
I have some knowledge about machine control engineering. In the field of<br>
the machine control engineering, the high accuracy time measurement<br>
often plays an important role.<br>
For example, the case wants to perform the measurement of the voltage<br>
with time by millisecond order for feedback control. When it looks like<br>
it, resolution power is not enough by time acquisition such as C&#39;s time<br>
function in many cases.<br>
<br>
Or the high accuracy time measurement is important in the game<br>
programming, too. Or in benchmark testing, too.<br>
<br>
There is std.perf in Phobos as a module with this role now.<br>
However, the module is unlisted, and a license doesn&#39;t seem to be a<br>
Boost license, too.<br>
I did not refer Tango at all about this class and examined and made it<br>
in my own hand completely.<br>
<br>
Here is the module to suggest this time:<br>
    <a href="http://ideone.com/TVw1P" target="_blank">http://ideone.com/TVw1P</a><br>
<br>
# This module is tested by Windows (real) and Ubuntu (virtual PC).<br>
<br>
Please look at it once by all means, and review it.<br>
I think that I will commit it at 2010-08-22T15:00Z as far as there is<br>
not serious dissenting opinion.<br>
_______________________________________________<br>
phobos mailing list<br>
<a href="mailto:phobos@puremagic.com">phobos@puremagic.com</a><br>
<a href="http://lists.puremagic.com/mailman/listinfo/phobos" target="_blank">http://lists.puremagic.com/mailman/listinfo/phobos</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>Mike Parker<br>