composer require weew/timer
This very simple library can be used to benchmark execution times of your code, or simply whenever you need a stopwatch.
You can retrieve duration between the timer start and stop.
$timer = new Timer();
$timer->start();
sleep(1);
$timer->stop();
echo $timer->getDuration(); // 1.0234
You can create custom checkpoints whenever and retrieve the elapsed time until the checkpoint was reached.
$timer = new Timer();
$timer->start();
$timer->createCheckpoint('foo');
$timer->stop();
$timer->getStartTime(); // returns start time in microseconds
$timer->getStopTime(); // returns stop time
$timer->getCheckpoint('start'); // returns start time
$timer->getCheckpoint('stop'); // returns stop time
$timer->getCheckpoint('foo'); // returns time of the checkpoint foo
You can measure duration between the checkpoints.
$timer = new Timer();
$timer->createCheckpoint('foo');
sleep(1);
$timer->createCheckpoint('bar');
// returns time elapsed since checkpoint foo till now
$timer->getDuration('foo');
// returns duration between checkpoints foo and bar
$timer->getDuration('foo', 'bar');
$timer->stop();
// returns time between checkpoints foo and stop
$timer->getDuration('foo');