On Mon, 2014-04-07 at 08:49 +0200, Anatol Belski wrote: 
> On Mon, April 7, 2014 00:57, Chung Leong wrote:
> > 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
> >>
> >>
> >>
> >
> No, it's causing instability on different hardware. Please check bug #64633.
> 

If there are no objections, i'll be adding this extension in the next
days.

Regards

Anatol



-- 
PECL development discussion Mailing List (http://pecl.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to