esi / bench
Micro PHP library for benchmarking
Fund package maintenance!
Ko Fi
ericsizemore
Installs: 6
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 0
Forks: 71
Open Issues: 1
pkg:composer/esi/bench
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: 2025-10-22 17:37:02 UTC
README
Bench
is a PHP micro library for benchmark.
Note
This library is a fork of devster/ubench v2.1.0.
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
- PHP >= 8.2
Credits
And thanks to the library this is a fork of, devster/ubench:
Contributing
See CONTRIBUTING.
Bugs and feature requests are tracked on GitHub.
Contributor Covenant Code of Conduct
Backward Compatibility Promise
See backward-compatibility.md for more information on Backwards Compatibility.
Changelog
See the CHANGELOG for more information on what has changed recently.
License
See the LICENSE for more information on the license that applies to this project.
Security
See SECURITY for more information on the security disclosure process.