php-version-benchmarks
php-version-benchmarks copied to clipboard
Official PHP benchmark suite
PHP Version Benchmark
Table of Contents
- Introduction
- Results
- Install
- Usage
- Contributing
- Support
- Credits
- License
Introduction
This is a fully automated benchmark suite for comparing the performance of any PHP releases or branches. The framework is heavily inspired by Intel's work from quite a few years ago: https://01.org/node/3774.
Results
You can find the benchmark results here.
Install
You can simply download or clone this repository. You can also install it via Composer by running the command below:
$ composer require kocsismate/php-version-benchmarks:dev-master
Usage
Configuration
All the configuration of the benchmark is done via .ini files in the config directory. By default, a few templates
are bundled with the benchmark (having .ini.dist extension in their names). Feel free to rename them by removing the
.dist suffix in order to take advantage of them.
Usage with Docker
As a prerequisite, you need the following:
- a UNIX system (Linux, Mac)
- git
- a recent version of Docker
Run the following command to execute the benchmark suite locally:
./benchmark.sh run local
Usage on AWS EC2
As a prerequisite, you need the following:
- a UNIX system (Linux, Mac)
- git
- Terraform
Then you have to create the necessary AWS-related config file by copying the aws.tfvars.dist to aws.tfvars in the
build/infrastructure/config/aws.tfvars.dist directory:
cp build/infrastructure/config/aws.tfvars.dist build/infrastructure/config/aws.tfvars
Then, you need to override some values in it:
access_key: the access key of your AWS accountsecret_key: the secret access key of your AWS accountregion: it is "eu-central-1" by default, but you should choose the closest one to your area
Now, you are ready to go:
./benchmark.sh run aws
Contributing
Please see CONTRIBUTING for details.
Support
Please see SUPPORT for details.
Credits
- Máté Kocsis
- All Contributors
License
The MIT License (MIT). Please see the License File for more information.