Commit Graph

8 Commits

Author SHA1 Message Date
Julien Voisin
ae2abcf3e8
Add a check for required extensions in benchmark.php (#14811)
This should prevent people from being disappointed by
an unexpected error message when running the benchmark,
namely:

```
jvoisin@chernabog 21:54 (master) ~/dev/php-src php ./benchmark/benchmark.php false sapi/cgi/php-cgi
> 'valgrind' '--tool=callgrind' '--dump-instr=yes' '--callgrind-out-file=/home/jvoisin/dev/php-src/benchmark/profiles/callgrind.out.bench' '--' 'sapi/cgi/php-cgi' '-T1' '-d max_execution_time=0' '-d opcache.enable=1' '-d opcache.jit=disable' '-d opcache.jit_buffer_size=128M' '-d opcache.validate_timestamps=0' '/home/jvoisin/dev/php-src/Zend/bench.php'
> 'valgrind' '--tool=callgrind' '--dump-instr=yes' '--callgrind-out-file=/home/jvoisin/dev/php-src/benchmark/profiles/callgrind.out.bench.jit' '--' 'sapi/cgi/php-cgi' '-T1' '-d max_execution_time=0' '-d opcache.enable=1' '-d opcache.jit=tracing' '-d opcache.jit_buffer_size=128M' '-d opcache.validate_timestamps=0' '/home/jvoisin/dev/php-src/Zend/bench.php'
> '/usr/bin/php' '/home/jvoisin/dev/php-src/benchmark/repos/symfony-demo-2.2.3/bin/console' 'cache:clear'
> '/usr/bin/php' '/home/jvoisin/dev/php-src/benchmark/repos/symfony-demo-2.2.3/bin/console' 'cache:warmup'
> 'valgrind' '--tool=callgrind' '--dump-instr=yes' '--callgrind-out-file=/home/jvoisin/dev/php-src/benchmark/profiles/callgrind.out.symfony-demo' '--' 'sapi/cgi/php-cgi' '-T50,50' '-d max_execution_time=0' '-d opcache.enable=1' '-d opcache.jit=disable' '-d opcache.jit_buffer_size=128M' '-d opcache.validate_timestamps=0' '/home/jvoisin/dev/php-src/benchmark/repos/symfony-demo-2.2.3/public/index.php'
PHP Fatal error:  Uncaught Error: Call to undefined function gmp_strval() in /home/jvoisin/dev/php-src/benchmark/benchmark.php:128
Stack trace:
  thrown in /home/jvoisin/dev/php-src/benchmark/benchmark.php on line 128
[255]
jvoisin@chernabog 12:05 (master) ~/dev/php-src
```
2024-07-16 19:37:20 +02:00
Daniil Gentili
c16ad918ba
Change default method of disabling JIT
https://wiki.php.net/rfc/jit_config_defaults
Closes GH-12678
2024-01-15 09:39:13 +01:00
Niels Dossche
d45f4cef08
Drop Laravel from benchmark CI (#12595)
Two issues:
- The demo page does not seem to be doing much, so the value is limited.
- The benchmark instruction count has too much variance to be useful.
2023-11-02 11:38:31 +01:00
Niels Dossche
1c9c3af157 Add Laravel demo page to benchmark CI
The demo page doesn't do a lot, but might still be useful.
100 runs is enough to get rid of any prominent compilation overhead
in the profiles.

Closes GH-12466.
2023-10-18 17:31:47 +02:00
Ilija Tovilo
6349b293e7
Upload callgrind profile to GA (#12212) 2023-09-14 19:52:31 +02:00
Ilija Tovilo
ee6f9e294c
Include branch in benchmarking information
This allows https://nielsdos.github.io/php-benchmark-visualisation/ to only
show commits from master (or a specific branch). Otherwise we get confusing,
undulating commits from different branches, with potentially wildly different
performance.

Closes GH-12101
2023-09-03 13:48:23 +02:00
Ilija Tovilo
24cc40207d
Benchmarking mean (#11085)
* Use 50 runs and calculate mean

* Don't validate timestamps

* Don't profile PHP startup and shutdown in cgi with valgrind
2023-04-15 23:14:20 +02:00
Ilija Tovilo
afbc71d88d
Add benchmarking to CI
Closes GH-11068
2023-04-14 16:08:13 +02:00