Doesn't the win32 implementation of gettimeofday() already use the
performance timer?


On Sun, Apr 6, 2014 at 3:52 PM, Anatol Belski <[email protected]> wrote:

> Hi,
>
> I would like to propose the extension implementing a high resolution
> StopWatch class. It also makes possible to implement a custom stopwatch
> using the almost low level ticks delivered by the underlaying APIs. The
> extension does NOT implement high resolution timestamps synchronizable to
> an external source (well, maybe yet).
>
> One reason for implementing it is the absense of the nanosecond time in
> PHP. The extension is merely focused on user space timers.
>
> Another reason is that Windows machines not using win8 are vulnerable no
> some unaccurate time APIs. This windows implementation uses performance
> counters to achieve some better timing results which can be considered
> stable within short time frames. Coupled with the fact that no
> synchronization to an external source is needed, that might be useful for
> windows users.
>
> The extension would be released under the BSD license, the code is
> available here http://belski.net/phpz/hrtime-0.4.3.tar.gz
>
> The uses of this extension are execution time measurements of code blocks
> as well as any other StopWatch use cases. The future scope were for
> example implememnting high resolution wait, however this needs some more
> variables to do it portable and right.
>
> Here's a user code example
>
>         $c = new HRTime\StopWatch;
>
>         $c->start();
>         /* do some interesting stuff*/
>         $c->stop();
>         $elapsed0 = $c->getLastElapsedTime(HRTime\Unit::NANOSECOND);
>
>         /* do something else */
>
>         $c->start();
>         /* do some interesting stuff again */
>         $c->stop();
>         $elapsed1 = $c->getLastElapsedTime(HRTime\Unit::NANOSECOND);
>
>         $elapsed_total = $c->getElapsedTime(HRTime\Unit::NANOSECOND);
>
> Regards
>
> Anatol
>
> --
> PECL development discussion Mailing List (http://pecl.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

Reply via email to