Bench
is a PHP micro library for benchmark.
Bench
is a fork of devster/ubench, and uses the same license as the original repository by @devster (MIT).
Thanks to them and all the contributors!
Run the following command to install the package
composer require esi/bench:~3.0.0
require_once 'vendor/autoload.php';
$bench = new Bench;
$bench->start();
// Execute some code
$bench->end();
// Get elapsed time and memory.
echo $bench->getTime(); // 156ms or 1.123s
echo $bench->getTime(true); // elapsed microtime in float
echo $bench->getTime(false, '%d%s'); // 156ms or 1s
echo $bench->getMemoryPeak(); // 152B or 90.00Kb or 15.23Mb
echo $bench->getMemoryPeak(true); // memory peak in bytes
echo $bench->getMemoryPeak(false, '%.3f%s'); // 152B or 90.152Kb or 15.234Mb
// Returns the memory usage at the end mark.
echo $bench->getMemoryUsage(); // 152B or 90.00Kb or 15.23Mb
// Runs `Bench::start()` and `Bench::end()` around a callable.
// Accepts a callable as the first parameter. Any additional parameters will be passed to the callable.
$result = $bench->run(function (int $x): int {
return $x;
}, 1);
echo $bench->getTime();
- Bench works with PHP 8.2.0 or above.
Bugs and feature requests are tracked on GitHub
Issues are the quickest way to report a bug. If you find a bug or documentation error, please check the following first:
- That there is not an Issue already open concerning the bug
- That the issue has not already been addressed (within closed Issues, for example)
See CONTRIBUTING
Eric Sizemore - admin@secondversion.com - https://www.secondversion.com
Bench is licensed under the MIT License - see the LICENSE.md
file for details.