ci(prof): run additional allocation test on all PHP versions#3592
ci(prof): run additional allocation test on all PHP versions#3592realFlowControl merged 3 commits intomasterfrom
Conversation
|
✨ Fix all issues with BitsAI or with Cursor
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #3592 +/- ##
==========================================
- Coverage 62.39% 62.32% -0.08%
==========================================
Files 142 142
Lines 13586 13586
Branches 1775 1775
==========================================
- Hits 8477 8467 -10
- Misses 4304 4311 +7
- Partials 805 808 +3 see 3 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
Benchmarks [ profiler ]Benchmark execution time: 2026-03-10 16:24:35 Comparing candidate commit e9c2a9b in PR branch Found 0 performance improvements and 3 performance regressions! Performance is the same for 26 metrics, 7 unstable metrics. scenario:php-profiler-timeline-memory-control
scenario:php-profiler-timeline-memory-with-profiler
|
2ef5d29 to
52876ec
Compare
f8fafad to
784e277
Compare
On PHP >= 8.4 (with frameless functions), typical CPU utilization of that `str_replace()` function is at around 51%, without frameless functions (PHP <= 8.3) the CPU utilisation for `str_replace()` is at about 99%, this runs that test always and makes sure we match both cases.
allocation sampling distance
784e277 to
7343cde
Compare
| "percent": 70, | ||
| "error_margin": 30 |
There was a problem hiding this comment.
This stack is for wall-time. The idea here is that str_replace will use enough CPU that the allocation time spent is negligible, and the replace operation will dominate it.
The variability comes from whether it's piggy-backing on the allocation interrupt (for frameless versions, where we don't get an interrupt on the frameless call) or on older versions without it, we get an interrupt, and it's more accurate.
Description
This PR is based on #3559 with the intention to run that new correctness test on all PHP versions and provide a value and error range that matches all PHP versions. Additionally this runs the
allocation_time_combinedtest without an adjusted sampling distance for allocations 🎉Reviewer checklist