File tree Expand file tree Collapse file tree 12 files changed +225
-0
lines changed
Expand file tree Collapse file tree 12 files changed +225
-0
lines changed Original file line number Diff line number Diff line change 1+ version : ' 2.1'
2+
3+ jobs :
4+ ValidateBenchmark :
5+ docker :
6+ - image : phpbenchmarks/benchmark-kit:4
7+ working_directory : /var/www/benchmark
8+ steps :
9+ - checkout
10+ - run :
11+ name : entrypoint
12+ command : entrypoint --nginx-as-service
13+ - run :
14+ name : " validate:benchmark"
15+ command : " phpbenchkit validate:benchmark -vvv"
16+
17+ workflows :
18+ version : ' 2.1'
19+ BenchmarkKit :
20+ jobs :
21+ - ValidateBenchmark
Original file line number Diff line number Diff line change 1+ /.idea
2+ /vendor
3+ /composer.lock
Original file line number Diff line number Diff line change 1+ component :
2+ slug : php
3+ benchmark :
4+ type : json-serialization-hello-world
5+ relativeUrl : /
6+ sourceCode :
7+ entryPoint : public/index.php
8+ urls :
9+ jsonSerialization : https://github.com/phpbenchmarks/php/tree/8.0.0_json-serialization-hello-world_0/public/index.php#L12
10+ coreDependency :
11+ name : php
12+ version : 8.0.0
Original file line number Diff line number Diff line change 1+ server {
2+ listen ____PORT____;
3+ server_name ____HOST____;
4+ root ____INSTALLATION_PATH____/____ENTRY_POINT_FILE_PATH____;
5+ location / {
6+ try_files $uri /____ENTRY_POINT_FILE_NAME____$is_args$args;
7+ }
8+ location ~ ____ENTRY_POINT_FILE_NAME____(/|$) {
9+ fastcgi_pass unix:/run/php/____PHP_FPM_SOCK____;
10+ fastcgi_split_path_info ^(.+.php)(/.*)$;
11+ include fastcgi_params;
12+ fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
13+ fastcgi_param HTTPS off;
14+ }
15+ }
Original file line number Diff line number Diff line change 1+ #! /usr/bin/env bash
2+
3+ set -e
4+
5+ # add commands to initialize benchmark: clear cache and logs, warm up cache etc
6+ composer install --no-dev --classmap-authoritative --ansi
Original file line number Diff line number Diff line change 1+ ; ----------------------------------------------------------------------------------------------------------------------
2+ ; This file will be added to PHP ini files loaded before benchmarking.
3+ ; Configure what you need here.
4+ ;
5+ ; /!\ Do NOT configure opcache.enable: it will be configured automatically.
6+ ; /!\ Do NOT configure opcache.preload and opcache.preload_user: it will be configured automatically. /!\
7+ ; ----------------------------------------------------------------------------------------------------------------------
8+
9+ ; Examples of configuration you could change for your needs.
10+
11+ ; The maximum number of keys (scripts) in the OPcache hash table.
12+ ; Only numbers between 200 and 1000000 are allowed.
13+ ; opcache.max_accelerated_files=10000
14+
15+ ; If disabled, all PHPDoc comments are dropped from the code to reduce the
16+ ; size of the optimized code.
17+ ; opcache.save_comments=1
18+
19+ ; A bitmask, where each bit enables or disables the appropriate OPcache
20+ ; passes
21+ ; opcache.optimization_level=0x7FFFBFFF
22+
23+ ; Allows exclusion of large files from being cached. By default all files
24+ ; are cached.
25+ ; opcache.max_file_size=0
26+
27+ ; Enables or disables opcode caching in shared memory.
28+ ; opcache.file_cache_only=0
29+
30+ ; The OPcache shared memory storage size.
31+ ; opcache.memory_consumption=128
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ $ sourceCodePath = __DIR__ . '/../../../ ' ;
4+ $ files = [
5+ "$ sourceCodePath/public/index.php " ,
6+ "$ sourceCodePath/vendor/autoload.php " ,
7+ "$ sourceCodePath/vendor/composer/ClassLoader.php " ,
8+ "$ sourceCodePath/vendor/phpbenchmarks/benchmark-json-serialization-hello-world/src/BenchmarkService.php " ,
9+ ];
10+
11+ foreach ($ files as $ file ) {
12+ if (is_readable ($ file ) === false ) {
13+ throw new \Exception ('File " ' . $ file . '" is not readable. ' );
14+ }
15+
16+ opcache_compile_file ($ file );
17+ }
Original file line number Diff line number Diff line change 1+ [" Hello World !" ]
Original file line number Diff line number Diff line change 1+ <p align =" center " >
2+ <img src =" http://www.phpbenchmarks.com/images/logo_github.png " >
3+ <br >
4+ <a href =" http://www.phpbenchmarks.com " target =" _blank " >www.phpbenchmarks.com</a >
5+ </p >
6+
7+ ## What is www.phpbenchmarks.com?
8+
9+ You will find a lot of benchmarks for PHP and PHP libraries on [ phpbenchmarks.com] ( http://www.phpbenchmarks.com ) .
10+
11+ Benchmarks results are available from PHP 5.6 to latest version.
12+
13+ Our benchmarking protocol is available on [ benchmarking protocol page] ( http://www.phpbenchmarks.com/en/documentation/benchmarking-protocol ) .
14+
15+ ## What is this repository?
16+
17+ It contains PHP benchmark code.
18+
19+ Switch branch to select version and benchmark you want to see.
20+
21+ ## Benchmarks
22+
23+ You can find PHP 8.0 benchmarks results on
24+ [ benchmarks results page] ( http://www.phpbenchmarks.com/en/benchmark/php/8.0 ) .
25+
26+ See all PHP benchmarked versions on [ select version page] ( http://www.phpbenchmarks.com/en/benchmark/php/version ) .
27+
28+ ## Community
29+
30+ 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!
31+
32+ ## How version works?
33+
34+ We do not follow semantic version for this repository.
35+
36+ Here is an explanation about our versioning system:
37+
38+ ` X.Y.Z_benchmark-slug_W `
39+
40+ * ` X ` : PHP major version.
41+ * ` Y ` : PHP minor version.
42+ * ` Z ` : PHP patch version.
43+ * ` benchmark-slug ` : slug of the benchmark, list available on [ documentation page] ( http://www.phpbenchmarks.com/en/documentation ) .
44+ * ` W ` : benchmark version
You can’t perform that action at this time.
0 commit comments