Context
While verifying Bergmann's OPcache optimizer article (phpunit.expert, 2026-08-26) we confirmed on PHP 8.5.9 that:
opcache.enable_cli defaults to 0, so PHPUnit runs execute unoptimized bytecode (~14% slower on suite-like workloads, 21% on a call-heavy microbench of 30M userland calls: min 1191 ms vs 1515 ms).
- Enabling it makes CI runs faster AND exercises the same optimized handler paths production uses (type-specialized handlers are selected whenever OPcache loads).
Proposal
In CI workflows (and optionally composer test scripts), enable the CLI optimizer explicitly:
php -d opcache.enable_cli=1 -d opcache.optimization_level=0x7FFEBFFF vendor/bin/phpunit
Note: pinning optimization_level matters - at least one workstation was found silently running with it zeroed (harness issue tracked separately). Sibling repo doctrine-firebird-driver has the same pattern and may want the same change.
Acceptance criteria
Filed from satware.ai/harness findings session 2026-08-26.
Context
While verifying Bergmann's OPcache optimizer article (phpunit.expert, 2026-08-26) we confirmed on PHP 8.5.9 that:
opcache.enable_clidefaults to0, so PHPUnit runs execute unoptimized bytecode (~14% slower on suite-like workloads, 21% on a call-heavy microbench of 30M userland calls: min 1191 ms vs 1515 ms).Proposal
In CI workflows (and optionally
composer testscripts), enable the CLI optimizer explicitly:Note: pinning
optimization_levelmatters - at least one workstation was found silently running with it zeroed (harness issue tracked separately). Sibling repodoctrine-firebird-driverhas the same pattern and may want the same change.Acceptance criteria
Filed from satware.ai/harness findings session 2026-08-26.