Test: revert PR #4829 to verify phpbench catches the regression#5597
Closed
ondrejmirtes wants to merge 9 commits into2.1.xfrom
Closed
Test: revert PR #4829 to verify phpbench catches the regression#5597ondrejmirtes wants to merge 9 commits into2.1.xfrom
ondrejmirtes wants to merge 9 commits into2.1.xfrom
Conversation
Member
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Do not merge. This PR is a deliberate experiment to verify that the phpbench baseline added in 196eba6 (with
tests/bench/data/phpdoc-inheritance-speedup.phpfrom d34f7cc) actually detects a regression inPhpDocInheritanceResolverperformance.Summary
Reverts the PhpDocInheritanceResolver rework from #4829 plus the commits that depend on its API or tests, so the slow ancestor-walking PHPDoc resolution comes back. With those reverts in place, CI should run phpbench against the bench file and the assertion in
RegressionBenchshould fail (or at least flag a large regression versus baseline).Local hyperfine numbers on
tests/bench/data/phpdoc-inheritance-speedup.php(10-level chain × 3 interfaces/level × 10 methods, all overridden with PHPDocs):Reverted commits (newest first)
@phpstan-all-methods-(im)pure(usesgetResolvedPhpDoc()/areAllMethodsPure()added in Rework phpDoc inheritance to resolve through reflection instead of re-walking the hierarchy #4829)PhpClassReflectionExtension)Test plan
make tests, 1m36s)bin/phpstan analyse -l 8 tests/bench/data/phpdoc-inheritance-speedup.phpreproduces the slow path locally (~110s vs ~20s on 2.1.x)RegressionBench::benchRunAnalyse(phpdoc-inheritance-speedup.php)against the baseline committed in 196eba6🤖 Generated with Claude Code