phpbench/phpbench

PHP Benchmarking Framework

Fund package maintenance!
dantleech

Installs: 1 092 860

Dependents: 295

Suggesters: 10

Security: 0

Stars: 1 419

Watchers: 32

Forks: 95

Open Issues: 13

1.0.4 2021-07-18 14:07 UTC

README

92305960-d2866a00-ef83-11ea-878a-10584e583da4.png

CI Documentation Latest Stable Version Total Downloads License

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.

Installation

$ composer require phpbench/phpbench --dev

See the installation instructions for more options.

Documentation

Documentation is hosted on readthedocs.

Community

Screenshots

Running benchmarks and comparing against a baseline:

phpbench

Aggregated report:

image

Blinken logger:

phpbench-blinken

Contributing

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.