/phpbench

PHP Benchmarking framework

Primary LanguagePHPMIT LicenseMIT

PhpBench

PHPBench Logo Build Status StyleCI

PhpBench is a benchmarking framework for PHP.

Features:

  • Nice command line interface.
  • Generate reports and render them to different mediums (Console, HTML, Markdown, etc).
  • Benchmarks executed in a separate process, no effective overhead, no autoloader pollution.
  • Control stability of results with multiple iterations and retry threshold.
  • Memory usage statistics.
  • Records environment (e.g. VCS info, OS info, etc.)
  • Standard deviation and Z-Scores.
  • Kernel density estimate used to estimate the mode.
  • Time unit specification.
  • Output mode specification (throughput, average time).
  • Parameterized benchmarking cases.
  • Per-project configuration.
  • Store and query results.
  • Before and After method / class specification.
  • Pause (recover) between iterations.
  • Extendable.
  • More..

Installation Instructions

You can install PHPBench either as as a PHAR or as a project dependency.

Installing as sa PHAR allows you to easily self-update to the latest versions, but as PHPBench is unstable, you will be living on the edge.

See the installation instructions for information on both methods of installation.

Documentation

See the official documentation.

Screenshots

Default output:

phpbench-standard

Aggregate report with "dots" logger:

phpbench-aggregate

Blinken logger:

phpbench-blinken

HTML report:

phpbench2

Storage log:

storage_log

See also

This library was influenced by the athletic benchmarking framework.