This package allows to measure time and display it to a human readable format 00:00:00.000
.
Via Composer
$ composer require isswp101/timer
With milliseconds:
$timer = new Timer(); // default H:i:s.ms
// some code...
var_dump($timer->end()); // 00:00:07.270
With microseconds:
$timer = new Timer('H:i:s.u');
// some code...
var_dump($timer->end()); // 00:00:07.271315
Deferred output:
$timer = new Timer();
// some code...
$timer->stop();
// some other code...
var_dump($timer->time()); // 00:00:07.270
Deferred output with total measured time:
$timer = new Timer;
foreach ($items as $item) {
// some code...
$timer->start();
// code for measurement... (1)
$timer->stop();
// some code...
}
var_dump($timer->time()); // total (1) time
Simple profiling method with time-ordered output:
$timerPool = new TimerPool;
$timerPool->start('A');
$timerPool->start('B');
usleep(1000000); // some code...
$timerPool->stop('B');
$timerPool->start('C');
usleep(3000000); // some code...
$timerPool->stop('C');
$timerPool->start('D');
usleep(2000000); // some code...
$timerPool->stop('D');
$timerPool->stop('A');
print_r($timerPool->build());
// Array
// (
// [A] => 00:00:06.004
// [C] => 00:00:03.001
// [D] => 00:00:02.000
// [B] => 00:00:01.003
// )
Please see CHANGELOG for more information what has changed recently.
$ composer test
Please see CONTRIBUTING and CONDUCT for details.
If you discover any security related issues, please use the issue tracker.
The MIT License (MIT). Please see License File for more information.