PHPackages                             phpbenchmarks/benchmark-kit - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. phpbenchmarks/benchmark-kit

ActiveLibrary[Testing &amp; Quality](/categories/testing)

phpbenchmarks/benchmark-kit
===========================

PHPBenchmarks kit to add benchmarks on phpbenchmarks.com

3.1.0(7y ago)30875[12 issues](https://github.com/phpbenchmarks/benchmark-kit/issues)[6 PRs](https://github.com/phpbenchmarks/benchmark-kit/pulls)proprietaryTwig

Since Jan 24Pushed 1y ago3 watchersCompare

[ Source](https://github.com/phpbenchmarks/benchmark-kit)[ Packagist](https://packagist.org/packages/phpbenchmarks/benchmark-kit)[ RSS](/packages/phpbenchmarks-benchmark-kit/feed)WikiDiscussions master Synced 5d ago

READMEChangelog (10)Dependencies (1)Versions (18)Used By (0)

 [![](https://camo.githubusercontent.com/87570f78dc291d2bf670ce1f762efe02a70877c7923044c626f2df5213f8c3d6/687474703a2f2f7777772e70687062656e63686d61726b732e636f6d2f696d616765732f6c6f676f5f6769746875622e706e67)](https://camo.githubusercontent.com/87570f78dc291d2bf670ce1f762efe02a70877c7923044c626f2df5213f8c3d6/687474703a2f2f7777772e70687062656e63686d61726b732e636f6d2f696d616765732f6c6f676f5f6769746875622e706e67)
 [www.phpbenchmarks.com](http://www.phpbenchmarks.com)

Benchmark kit is a tool to add a framework or a template engine benchmark on [phpbenchmarks.com](http://www.phpbenchmarks.com).

Documentation
-------------

[](#documentation)

- [Changelog](changelog.md)
- [Understand repositories and branches](documentation/repositoriesAndBranches.md)

Requirements
------------

[](#requirements)

You will need [Docker ^18.06](https://docs.docker.com/install/) to make it work.

Installation
------------

[](#installation)

Everything you need to use benchmark kit is is [phpbenchkit.sh](phpbenchkit.sh).

Install it as global bin and give it execute mode:

```
sudo wget https://raw.githubusercontent.com/phpbenchmarks/benchmark-kit/master/phpbenchkit.sh -O /usr/local/bin/phpbenchkit
sudo chmod +x /usr/local/bin/phpbenchkit
```

Then call `phpbenchkit`, it will add vhosts and run Docker benchmatk kit container:

```
# Add vhosts if needed, run Docker container and call bin/console to show available commands
phpbenchkit

# Restart Docker container
phpbenchkit --restart

# Stop Docker container
phpbenchkit --stop

# Update docker image and phpbenchkit command
phpbenchkit --selfupdate
```

Benchmark kit commands
----------------------

[](#benchmark-kit-commands)

List available commands:

```
phpbenchkit
```

Almost all commands accept this option:

- `--skip-source-code-urls`: don't validate source code urls, usefull while you are in development.

\#1 Ask us to create repositories
---------------------------------

[](#1-ask-us-to-create-repositories)

You can ask us to create repositories with [contact form](http://www.phpbenchmarks.com/en/contact?subject=create-benchmark-repositories).

Tell us which component and version you want to benchmark, and `your github username` to allow you to commit on this repositories.

We will send you an email when repositories will be created.

\#2 Initialize code
-------------------

[](#2-initialize-code)

To make your benchmark work you will need some files into `.phpbenchmarks` directory:

- `Configuration.php`: configuration of benchmarked component.
- `initBenchmark.sh`: called before the benchmark to initialize everything (composer install, cache warmup etc).
- `vhost.conf`: nginx virtual host configuration.
- `responseBody/`: benchmark url body will be compared to files in this directory to validate it's content.
- `composer/composer.lock.phpX.Y`: created by `phpbenchkit composer:update` to install dependencies by PHP version.

All this files can be created and configured with `configure` commands.

See list of configure commands with `phpbenchkit configure:`.

You can call `phpbenchkit configure:benchmark` to create all of them or use the one your need.

```
phpbenchkit composer:update
# you can specify a version of php
phpbenchkit composer:update 7.1
```

You can validate each part of your configuration with `validate`.

See list of validation commands with with `phpbenchkit validate:`.

\#4 Add required feaures for benchmarks
---------------------------------------

[](#4-add-required-feaures-for-benchmarks)

Choose the component type and benchmark type you want to code:

- Framework
    - [Hello world benchmark](documentation/framework/helloWorld.md)
    - [REST API benchmark](documentation/framework/restApi.md)
- Template engine
    - [Hello world benchmark](documentation/templateEngine/helloWorld.md)

Note that `all` component benchmarks needs to bo validated to make your component appear on [phpbenchmarks.com](http://www.phpbenchmarks.com).

\#5 Test and validate your code
-------------------------------

[](#5-test-and-validate-your-code)

Docker container provide a domain to test your code: `http://benchmark-kit.loc`.

To change PHP version (CLI and FPM):

```
phpbenchkit
```

When you think it's ok, use `phpbenchkit validate:benchmark` to validate it.

\#6 Submit your code
--------------------

[](#6-submit-your-code)

When `phpbenchkit validate:benchmark` say it's good, push your code, then you can tell us to launch benchmarks with [contact form](http://www.phpbenchmarks.com/en/contact?subject=launch-benchmark).

Thank you!

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance22

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity69

Established project with proven stability

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~9 days

Recently: every ~23 days

Total

12

Last Release

2572d ago

Major Versions

1.0.6 → 2.0.02019-01-30

2.0.0 → 3.0.02019-04-28

### Community

Maintainers

![](https://www.gravatar.com/avatar/02fd1f9468ab619fac88924af0fed2d5e5f3787a77edc6ad759b8cc566a769f0?d=identicon)[phpbenchmarks](/maintainers/phpbenchmarks)

---

Tags

benchmarkphp

### Embed Badge

![Health badge](/badges/phpbenchmarks-benchmark-kit/health.svg)

```
[![Health](https://phpackages.com/badges/phpbenchmarks-benchmark-kit/health.svg)](https://phpackages.com/packages/phpbenchmarks-benchmark-kit)
```

###  Alternatives

[phpspec/prophecy

Highly opinionated mocking framework for PHP 5.3+

8.5k551.7M682](/packages/phpspec-prophecy)[vimeo/psalm

A static analysis tool for finding errors in PHP applications

5.8k77.5M6.7k](/packages/vimeo-psalm)[brianium/paratest

Parallel testing for PHP

2.5k118.8M754](/packages/brianium-paratest)[beberlei/assert

Thin assertion library for input validation in business models.

2.4k96.9M570](/packages/beberlei-assert)[mikey179/vfsstream

Virtual file system to mock the real file system in unit tests.

1.4k108.0M2.7k](/packages/mikey179-vfsstream)[orchestra/testbench

Laravel Testing Helper for Packages Development

2.2k39.1M32.1k](/packages/orchestra-testbench)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
