PHPBench is a benchmark runner for PHP analogous to PHPUnit but for performance rather than correctness.
Features include:
- Revolutions: Repeat your code many times to determine average execution time.
- Iterations: Sample your revolutions many times and review aggregated statistical data.
- Process Isolation: Each iteration is executed in a separate process.
- Reporting: Customizable reports and various output formats (e.g. console, CSV, Markdown, HTML).
- Report storage and comparison: Store benchmarks locally to be used as a baseline reference, or to reference them later.
- Memory Usage: Keep an eye on the amount of memory used by benchmarking subjects.
- Assertions: Assert that code is performing within acceptable limits, or that it has not regressed from a previously recorded baseline.
See the documentation to find out more.
composer require phpbench/phpbench --dev
See the installation instructions for more options.
Documentation is hosted on readthedocs.
- Follow @phpbench for the latest news.
- Join the
#phpbench
channel on the Slack Symfony Devs channel.
Running benchmarks and comparing against a baseline:
Aggregated report:
Blinken logger:
HTML Bar Chart:
Console Bar Chart:
PHPBench is an open source project. If you find a problem or want to discuss new features or improvements please create an issue, and/or if possible create a pull request.