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