esi / bench
Micro PHP library for benchmarking
Fund package maintenance!
Ko Fi
ericsizemore
Requires
- php: ^8.2 <8.5
Requires (Dev)
- esi/phpunit-coverage-check: ^2.0
- friendsofphp/php-cs-fixer: ^3.58
- phpstan/extension-installer: ^1.4
- phpstan/phpstan: ^1.11
- phpstan/phpstan-deprecation-rules: ^1.2
- phpstan/phpstan-phpunit: ^1.4
- phpstan/phpstan-strict-rules: ^1.6
- phpunit/phpunit: ^11.1
- psalm/plugin-phpunit: ^0.19.0
- vimeo/psalm: dev-master
This package is auto-updated.
Last update: 2024-11-25 00:12:13 UTC
README
Bench
is a PHP micro library for benchmark.
Acknowledgements / Credits
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!
Installation
Composer
Run the following command to install the package
composer require esi/bench:~3.0.0
Usage
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();
About
Requirements
- Bench works with PHP 8.2.0 or above.
Submitting bugs and feature requests
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)
Contributing
See CONTRIBUTING
Author
Eric Sizemore - admin@secondversion.com - https://www.secondversion.com
License
Bench is licensed under the MIT License - see the LICENSE.md
file for details.