Skip to content

Commit

Permalink
PHP 8.0 Hello world benchmark
Browse files Browse the repository at this point in the history
  • Loading branch information
steevanb committed Nov 29, 2020
0 parents commit 72ab863
Show file tree
Hide file tree
Showing 12 changed files with 179 additions and 0 deletions.
21 changes: 21 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
version: '2.1'

jobs:
ValidateBenchmark:
docker:
- image: phpbenchmarks/benchmark-kit:4
working_directory: /var/www/benchmark
steps:
- checkout
- run:
name: entrypoint
command: entrypoint --nginx-as-service
- run:
name: "validate:benchmark"
command: "phpbenchkit validate:benchmark -vvv"

workflows:
version: '2.1'
BenchmarkKit:
jobs:
- ValidateBenchmark
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/composer.lock
/vendor
12 changes: 12 additions & 0 deletions .phpbenchmarks/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
component:
slug: php
benchmark:
type: hello-world
relativeUrl: /
sourceCode:
entryPoint: public/index.php
urls:
entryPoint: 'https://github.com/phpbenchmarks/php/blob/8.0.0_hello-world_0/public/index.php'
coreDependency:
name: php
version: 8.0.0
15 changes: 15 additions & 0 deletions .phpbenchmarks/nginx/vhost.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
server {
listen ____PORT____;
server_name ____HOST____;
root ____INSTALLATION_PATH____/____ENTRY_POINT_FILE_PATH____;
location / {
try_files $uri /____ENTRY_POINT_FILE_NAME____$is_args$args;
}
location ~ ____ENTRY_POINT_FILE_NAME____(/|$) {
fastcgi_pass unix:/run/php/____PHP_FPM_SOCK____;
fastcgi_split_path_info ^(.+.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
}
}
20 changes: 20 additions & 0 deletions .phpbenchmarks/php/8.0/composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .phpbenchmarks/php/8.0/initBenchmark.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/usr/bin/env bash

set -e

# add commands to initialize benchmark: clear cache and logs, warm up cache etc
composer install --no-dev --classmap-authoritative --ansi
31 changes: 31 additions & 0 deletions .phpbenchmarks/php/8.0/php.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
; ----------------------------------------------------------------------------------------------------------------------
; This file will be added to PHP ini files loaded before benchmarking.
; Configure what you need here.
;
; /!\ Do NOT configure opcache.enable: it will be configured automatically.
; /!\ Do NOT configure opcache.preload and opcache.preload_user: it will be configured automatically. /!\
; ----------------------------------------------------------------------------------------------------------------------

; Examples of configuration you could change for your needs.

; The maximum number of keys (scripts) in the OPcache hash table.
; Only numbers between 200 and 1000000 are allowed.
;opcache.max_accelerated_files=10000

; If disabled, all PHPDoc comments are dropped from the code to reduce the
; size of the optimized code.
;opcache.save_comments=1

; A bitmask, where each bit enables or disables the appropriate OPcache
; passes
;opcache.optimization_level=0x7FFFBFFF

; Allows exclusion of large files from being cached. By default all files
; are cached.
;opcache.max_file_size=0

; Enables or disables opcode caching in shared memory.
;opcache.file_cache_only=0

; The OPcache shared memory storage size.
;opcache.memory_consumption=128
14 changes: 14 additions & 0 deletions .phpbenchmarks/php/8.0/preload.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<?php

$sourceCodePath = __DIR__ . '/../../../';
$files = [
"$sourceCodePath/public/index.php",
];

foreach ($files as $file) {
if (is_readable($file) === false) {
throw new \Exception('File "' . $file . '" is not readable.');
}

opcache_compile_file($file);
}
1 change: 1 addition & 0 deletions .phpbenchmarks/php/8.0/responseBody/responseBody.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Hello World !
44 changes: 44 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<p align="center">
<img src="http://www.phpbenchmarks.com/images/logo_github.png">
<br>
<a href="http://www.phpbenchmarks.com" target="_blank">www.phpbenchmarks.com</a>
</p>

## What is www.phpbenchmarks.com?

You will find a lot of benchmarks for PHP and PHP libraries on [phpbenchmarks.com](http://www.phpbenchmarks.com).

Benchmarks results are available from PHP 5.6 to latest version.

Our benchmarking protocol is available on [benchmarking protocol page](http://www.phpbenchmarks.com/en/documentation/benchmarking-protocol).

## What is this repository?

It contains PHP benchmark code.

Switch branch to select version and benchmark you want to see.

## Benchmarks

You can find PHP 8.0 benchmarks results on
[benchmarks results page](http://www.phpbenchmarks.com/en/benchmark/php/8.0).

See all PHP benchmarked versions on [select version page](http://www.phpbenchmarks.com/en/benchmark/php/version).

## Community

Go to [community page](http://www.phpbenchmarks.com/en/community) to see the Hall of fame, or download the benchmark kit to add your code!

## How version works?

We do not follow semantic version for this repository.

Here is an explanation about our versioning system:

`X.Y.Z_benchmark-slug_W`

* `X`: PHP major version.
* `Y`: PHP minor version.
* `Z`: PHP patch version.
* `benchmark-slug`: slug of the benchmark, list available on [documentation page](http://www.phpbenchmarks.com/en/documentation).
* `W`: benchmark version
8 changes: 8 additions & 0 deletions composer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"name": "phpbenchmarks/php",
"license": "proprietary",
"type": "project",
"require": {
"php": "8.0.0"
}
}
5 changes: 5 additions & 0 deletions public/index.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?php

declare(strict_types=1);

echo 'Hello World !';

0 comments on commit 72ab863

Please sign in to comment.