-
Notifications
You must be signed in to change notification settings - Fork 159
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
perf: reduce memory usage in profiling #2995
base: levi/thin-str
Are you sure you want to change the base?
Conversation
Benchmarks [ profiler ]Benchmark execution time: 2025-01-13 20:26:25 Comparing candidate commit e49f49a in PR branch Found 0 performance improvements and 6 performance regressions! Performance is the same for 23 metrics, 7 unstable metrics. scenario:walk_stack/1
scenario:walk_stack/50
scenario:walk_stack/99
scenario:walk_stack_instructions/1
scenario:walk_stack_instructions/50
scenario:walk_stack_instructions/99
|
b067c30
to
bf97750
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## levi/thin-str #2995 +/- ##
===================================================
+ Coverage 74.78% 74.80% +0.01%
Complexity 2781 2781
===================================================
Files 112 112
Lines 11017 11017
===================================================
+ Hits 8239 8241 +2
+ Misses 2778 2776 -2
Flags with carried forward coverage won't be shown. Click here to find out more. see 1 file with indirect coverage changes Continue to review full report in Codecov by Sentry.
|
5889f1e
to
53a8da7
Compare
5d13085
to
a68d3e7
Compare
a67258b
to
4ed5a94
Compare
656b84e
to
0cf60e9
Compare
4ed5a94
to
b1b557f
Compare
8bafea5
to
058d1e9
Compare
b1b557f
to
23476b8
Compare
058d1e9
to
eade81b
Compare
23476b8
to
f38e49e
Compare
4fab4b1
to
a8443ad
Compare
f38e49e
to
2d12753
Compare
a8443ad
to
7c7efd4
Compare
Utilizes ThinStr in the ZendFrame to shrink memory. perf: pre-calculate buffer size in stalk walking
7c7efd4
to
e49f49a
Compare
2d12753
to
b0171fa
Compare
Description
Utilizes
ThinString
in theZendFrame
to shrink memory. This shrinks each frame from 7 words to 3 words.It also moves some label values from Owned to Borrowed, which will save on allocations in the runtime. I played with moving these to
ThinString
but it doesn't shrink the size ofLabelValue
(it's so close, I think 1 unused bit away from shrinking down...)Reviewer checklist