ci(prof): run additional allocation test on all PHP versions#3592
ci(prof): run additional allocation test on all PHP versions#3592realFlowControl wants to merge 37 commits intomasterfrom
Conversation
When allocation profiler takes a sample and interrupt_count > 0, collect both allocation and time samples in a single stack walk. Benefits: - Eliminates redundant stack walks when samples coincide. - Improves time sample accuracy (closer to timer expiry).
Let's do this in a dedicated PR.
This reverts commit a3e3e4e.
This reverts commit e16e1b1.
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## levi/perf-time-alloc-piggyback #3592 +/- ##
==================================================================
- Coverage 62.01% 61.92% -0.10%
==================================================================
Files 140 140
Lines 13311 13311
Branches 1762 1762
==================================================================
- Hits 8255 8243 -12
- Misses 4267 4277 +10
- Partials 789 791 +2 see 2 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-01-21 13:04:42 Comparing candidate commit 784e277 in PR branch Found 3 performance improvements and 0 performance regressions! Performance is the same for 25 metrics, 8 unstable metrics. scenario:php-profiler-exceptions-control
scenario:php-profiler-exceptions-with-profiler
scenario:php-profiler-exceptions-with-profiler-and-timeline
|
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.
2ef5d29 to
52876ec
Compare
allocation sampling distance
f8fafad to
784e277
Compare
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