Commit afc3ee57492 for php.net
commit afc3ee574929606ca74b8bc872484358c644656b
Author: Máté Kocsis <kocsismate@woohoolabs.com>
Date: Thu Aug 27 13:51:54 2026 +0200
Expose the "binary layout strategy" option for the real-time benchmark
See https://github.com/kocsismate/php-version-benchmarks/commit/351e967b1 for details.
"bolt_align" (https://github.com/llvm/llvm-project/pull/210634) is an experimental option, but it should basically eliminate any false positive differences due to binary layout changes. The "bolt" option stands for regular BOLT compilation.
diff --git a/.github/workflows/real-time-benchmark.yml b/.github/workflows/real-time-benchmark.yml
index b017a1b67c0..559eba5fd0b 100644
--- a/.github/workflows/real-time-benchmark.yml
+++ b/.github/workflows/real-time-benchmark.yml
@@ -16,6 +16,15 @@ on:
options:
- "0"
- "1"
+ binary_layout_strategy:
+ description: 'How the binary layout is generated'
+ required: false
+ default: ""
+ type: choice
+ options:
+ - ""
+ - "bolt_align"
+ - "bolt"
collect_extended_perf_stats:
description: 'Whether to collect extended perf stats as artifacts'
required: true
@@ -58,6 +67,7 @@ jobs:
BASELINE_COMMIT: "d5f6e56610c729710073350af318c4ea1b292cfe"
ID: "master"
JIT: "1"
+ BINARY_LAYOUT_STRATEGY: ""
COLLECT_EXTENDED_PERF_STATS: "0"
DEBUG_ENVIRONMENT: "0"
RUN_MICRO_BENCH: "0"
@@ -90,6 +100,7 @@ jobs:
echo "ID=benchmarked" >> $GITHUB_ENV
echo "JIT=${{ inputs.jit }}" >> $GITHUB_ENV
+ echo "BINARY_LAYOUT_STRATEGY=${{ inputs.binary_layout_strategy }}" >> $GITHUB_ENV
echo "COLLECT_EXTENDED_PERF_STATS=${{ inputs.collect_extended_perf_stats }}" >> $GITHUB_ENV
echo "DEBUG_ENVIRONMENT=${{ inputs.debug_environment }}" >> $GITHUB_ENV
echo "RUN_MICRO_BENCH=${{ inputs.run_micro_bench }}" >> $GITHUB_ENV
@@ -231,6 +242,7 @@ jobs:
cp ./php-version-benchmarks/config/infra/aws/x86_64-metal.ini.dist ./php-version-benchmarks/config/infra/aws/x86_64-metal.ini
sed -i "s|INFRA_DOCKER_REGISTRY=public.ecr.aws/abcdefgh|INFRA_DOCKER_REGISTRY=${{ secrets.PHP_VERSION_BENCHMARK_DOCKER_REGISTRY }}|g" ./php-version-benchmarks/config/infra/aws/x86_64-metal.ini
sed -i "s|INFRA_WORKSPACE=|INFRA_WORKSPACE=$WORKSPACE|g" ./php-version-benchmarks/config/infra/aws/x86_64-metal.ini
+ sed -i "s/INFRA_BINARY_LAYOUT_STRATEGY=/INFRA_BINARY_LAYOUT_STRATEGY=${{ env.BINARY_LAYOUT_STRATEGY }}/g" ./php-version-benchmarks/config/infra/aws/x86_64-metal.ini
sed -i "s/INFRA_COLLECT_EXTENDED_PERF_STATS=0/INFRA_COLLECT_EXTENDED_PERF_STATS=${{ env.COLLECT_EXTENDED_PERF_STATS }}/g" ./php-version-benchmarks/config/infra/aws/x86_64-metal.ini
sed -i "s/INFRA_DEBUG_ENVIRONMENT=0/INFRA_DEBUG_ENVIRONMENT=${{ env.DEBUG_ENVIRONMENT }}/g" ./php-version-benchmarks/config/infra/aws/x86_64-metal.ini