Repository navigation
Pull requests now benchmark their changes against the base branch - #134
Merged
Merged
Conversation
Merging this PR will not alter performance
A benchmark is changed when its efficiency ( All benchmarks |
thunderer
force-pushed
the
tk-benchmarks
branch
from
November 8, 2026 18:17
a882cfe to
04deee6
Compare
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.
Pull requests now run PHPBench on the base branch and on their own code, and post the difference as one comment that each new run updates. PHPBench stays out of
composer.json; the job installs it withcomposer require --devon PHP 8.5, like the Infection job.benchmarkjob runs only on pull requests: it benchmarkssrcfrom the base branch, tags the runbase, restores the pull request'ssrcand prints theaggregatereport againstbase,<!-- benchmark -->marker; the job edits the newestgithub-actions[bot]comment with that marker or posts a new one, with plainghand no third-party action, and skips the comment for forks, whose token is read-only,ParserBenchrunsRegularParser,RegexParser,HybridParserandWordpressParseron 5 inputs of about 10 KB: a page in English and Polish with a few shortcodes, 240 shortcodes with every parameter form, a page-builder layout nested 4 levels, 100 nested levels, and 28 KB of prose with citations and Markdown links whose unclosed tags are quadratic for 3 parsers,ProcessorBenchrunsProcessorwithRegularParserandHybridParseron the page, 1000 shortcodes in 39 KB (the quadratic replacement step), the layout and the 100 levels,Iterations(5)andWarmup(1)beat 3 and 10 iterations and 2 warmups, one run takes 31 s; PHPUnit, Mago and Psalm do not load the benchmark files.