shawnlindstrom/laravel-timer is a Laravel package for simple high-resolution monotonic timer.
It currently has 1 GitHub stars and 33 downloads on Packagist (latest version v0.2.0).
Install it with composer require shawnlindstrom/laravel-timer.
Discover more Laravel packages by shawnlindstrom
or browse all Laravel packages to compare alternatives.
Last updated
A modern, high-resolution monotonic timer for Laravel applications. Perfect for benchmarking, performance measurement, and precise timing operations.
hrtime()Install via Composer:
composer require shawnlindstrom/laravel-timer
The package will automatically register itself via Laravel's package discovery.
use shawnlindstrom\LaravelTimer\Timer;
use shawnlindstrom\LaravelTimer\TimeUnit;
$timer = new Timer;
$timer->start();
// Your code to benchmark
sleep(2);
$timer->stop();
echo $timer->elapsed(); // Returns: 2 (default is seconds)
$timer = new Timer;
$timer->start();
// Your code here...
$timer->stop();
// Get elapsed time in different units
$seconds = $timer->elapsed(TimeUnit::SECOND); // 2
$microseconds = $timer->elapsed(TimeUnit::MICROSECOND); // 2000
$milliseconds = $timer->elapsed(TimeUnit::MILLISECOND); // 2000000
$nanoseconds = $timer->elapsed(TimeUnit::NANOSECOND); // 2000000000
use shawnlindstrom\LaravelTimer\TimerFacade as Timer;
use shawnlindstrom\LaravelTimer\TimeUnit;
Timer::start();
// Your code to benchmark...
Timer::stop();
echo Timer::elapsed(TimeUnit::MICROSECOND);
If you prefer, you can use the pre-configured alias:
use Timer;
use shawnlindstrom\LaravelTimer\TimeUnit;
Timer::start();
// Your code...
Timer::stop();
echo Timer::elapsed(TimeUnit::MILLISECOND);
The timer can be reused for multiple measurements:
$timer = new Timer;
// First measurement
$timer->start();
performTask1();
$timer->stop();
$time1 = $timer->elapsed();
// Second measurement
$timer->start();
performTask2();
$timer->stop();
$time2 = $timer->elapsed();
Run the test suite:
composer test
Generate code coverage report:
composer test:coverage
Run static analysis:
composer analyse
Format code:
composer format
Please see CHANGELOG.md for more information on what has changed recently.
Please see CONTRIBUTING.md for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see LICENSE.md for more information.