Repository navigation
chore(benchmark): compare mixed workload phases across compilers - #1882
Merged
Merged
Conversation
nahime0
marked this pull request as ready for review
October 18, 2026 21:44
Member
Author
|
@greptileai please review the current head 7e772ce. |
Contributor
[Low impact] The PR appears safe to merge; both previous findings are fixed and no new actionable issues remain. SummaryAdds an opt-in runner that compares mixed-workload phases across selected compilers and PHP.
No new actionable issues were found in the changes since the previous review. Reviews (2) · Last reviewed commit: "fix(benchmark): require revisions and po..." · Reviewed by Greptile |
nahime0
marked this pull request as draft
October 18, 2026 21:54
nahime0
marked this pull request as ready for review
October 18, 2026 22:00
Member
Author
|
@greptileai please review current head 4380c55. Both reported issues are fixed, with regression tests. |
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.
The historical benchmark suites measure process wall time, which hides the remaining costs inside mixed workloads. Add an opt-in comparison runner that compiles one shared PHP fixture with explicitly selected compiler revisions and measures arithmetic, closure calls, string append, dynamic eval, JSON decode with teardown, total body time and process wall time separately.
The runner requires real PHP, checks every warmup and measured checksum, rotates variant order, preserves raw samples and executable/input fingerprints, isolates runtime caches, and rejects noisy phases using median absolute deviation. Defaults are two warmups, 21 rounds and a 5% noise limit. Historical data and workflows are unchanged.
Validation: all 42 benchmark tooling tests pass with the exact CI discovery command, the PHP fixture passes
php -n -l, andgit diff --checkpasses. A quiet Linux x86_64 comparison used two warmups and 21 rotating samples on CPU11 with 64MiB native heaps. Body medians for published v0.27.3 / merged main f96ee9e / PHP8.5.11 are 1004.094 / 21.887 / 8.099 ms; process wall medians are 1009.222 / 26.884 / 34.526 ms. Every phase passed the 5% MAD gate (maximum 2.28%). These ratios describe this fixture only.Require a source revision for every compiler label before any subprocess starts. SHA-256 fingerprints use bounded streaming reads without depending on Python 3.11 APIs; regression tests cover empty, short and multichunk files plus missing and partially supplied revisions.