2 changed files with 105 additions and 0 deletions
@ -0,0 +1,87 @@ |
|||||
|
<?php |
||||
|
/**************************************************** |
||||
|
* Timer Class - Collection of timer Utilities |
||||
|
* |
||||
|
* Created By: Rick Hays |
||||
|
* Date: 2011-09-12 |
||||
|
* |
||||
|
* Revisions: |
||||
|
* 2011-09-12 RLH Added "udate" |
||||
|
* |
||||
|
*****************************************************/ |
||||
|
class timer |
||||
|
{ |
||||
|
var $startTimer; |
||||
|
var $endTimer; |
||||
|
|
||||
|
/** |
||||
|
* udate - Converts a micro timestamp into a date format. |
||||
|
* @param string $format - Standard date() format. |
||||
|
* @param float [optional] - Microtime to convert |
||||
|
*/ |
||||
|
public function udate($format, $utimestamp = null) |
||||
|
{ |
||||
|
if (is_null($utimestamp)) |
||||
|
$utimestamp = microtime(TRUE); |
||||
|
$timestamp = floor($utimestamp); |
||||
|
$milliseconds = round(($utimestamp - $timestamp) * 1000000); |
||||
|
return date(preg_replace('`(?<!\\\\)u`', $milliseconds, $format), $timestamp); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* start - Stores the start time |
||||
|
*/ |
||||
|
public function start() |
||||
|
{ |
||||
|
$this->startTimer = microtime(TRUE); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* end - Stores the end time |
||||
|
*/ |
||||
|
Public function end() |
||||
|
{ |
||||
|
$this->endTimer = microtime(TRUE); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* time - Returns the (end - start) times **NO FORMATING**. |
||||
|
* @return real Number value of the (end - start) times |
||||
|
*/ |
||||
|
public function time() |
||||
|
{ |
||||
|
return $this->endTimer-$this->startTimer; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* format_time - Returns the (end - start) times formated. |
||||
|
* @param string $format - Standard date() format Default = 'i:s.u'. |
||||
|
* @return string - date format of (end - start) times. |
||||
|
*/ |
||||
|
public function format_time($format = 'i:s.u') |
||||
|
{ |
||||
|
return $this->udate($format, $this->endTimer-$this->startTimer); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* avg_time - Returns the (end - start) times **NO FORMATING**. |
||||
|
* @param numeric $avg_count - Number to divide the (end - start) times from Default = 1 or No Division. |
||||
|
* @return numeric - Avg Number value of the (end - start) times |
||||
|
*/ |
||||
|
public function avg_time($avg_count = 1) |
||||
|
{ |
||||
|
return ($this->endTimer-$this->startTimer)/$avg_count; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* format_avg_time - Returns the (end - start) times formated. |
||||
|
* @param string $format - Standard date() format Default = 'i:s.u'. |
||||
|
* @param numeric $avg_count - Number to divide the (end - start) times from Default = 1 or No Division. |
||||
|
* @return numeric - Avg Number value of the (end - start) times |
||||
|
*/ |
||||
|
public function format_avg_time($avg_count = 1, $format = 'i:s.u') |
||||
|
{ |
||||
|
return $this->udate($format, ($this->endTimer-$this->startTimer)/$avg_count); |
||||
|
} |
||||
|
} |
||||
|
?> |
@ -0,0 +1,18 @@ |
|||||
|
<?php |
||||
|
// == TIMER CLASS ==================================== |
||||
|
require_once 'classes/timer.php'; |
||||
|
// -- Init Class |
||||
|
$timer = new timer(); |
||||
|
// |
||||
|
// -- Run the Timer |
||||
|
$timer->start(); // <- Places a value for Start of Timer |
||||
|
sleep(5); // <- Pause |
||||
|
$timer->end(); // <- Places a value for End of Timer |
||||
|
// -- Output the Results |
||||
|
echo $timer->startTimer . '<br />'; |
||||
|
echo $timer->endTimer . '<br />'; |
||||
|
echo $timer->time() . '<br />'; |
||||
|
echo $timer->format_time() . '<br />'; |
||||
|
echo $timer->avg_time(5) . '<br />'; |
||||
|
echo $timer->format_avg_time(5); |
||||
|
// =================================================== |
Loading…
Reference in new issue