Skip to content

Instantly share code, notes, and snippets.

@ideaguy3d
Forked from chuckreynolds/stopwatch.php
Created April 11, 2018 19:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ideaguy3d/541704fcfa6c8ab5a7661ee8322815e2 to your computer and use it in GitHub Desktop.
Save ideaguy3d/541704fcfa6c8ab5a7661ee8322815e2 to your computer and use it in GitHub Desktop.
Simple "StopWatch" class to measure PHP execution time. The class can handle multiple separate timers at the same time
<?php
class StopWatch {
/**
* @var $startTimes array The start times of the StopWatches
*/
private static $startTimes = array();
/**
* Start the timer
*
* @param $timerName string The name of the timer
* @return void
*/
public static function start($timerName = 'default') {
self::$startTimes[$timerName] = microtime(true);
}
/**
* Get the elapsed time in seconds
*
* @param $timerName string The name of the timer to start
* @return float The elapsed time since start() was called
*/
public static function elapsed($timerName = 'default') {
return microtime(true) - self::$startTimes[$timerName];
}
}
// start the timer
StopWatch::start();
// your script - this is an example
sleep(2);
// check how long 2 seconds is...
echo 'Elapsed time: ' . StopWatch::elapsed() . ' seconds';
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment