Re: [PECL-DEV] Extension proposal: hrtime

2014-04-16 Thread Anatol Belski
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 anatol@belski.net
  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



Re: [PECL-DEV] Extension proposal: hrtime

2014-04-07 Thread Anatol Belski
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 anatol@belski.net
 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.

Regards

Anatol

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