perf(profiling): speed up stack walking by using function run_time_cache - #1998
Merged
Conversation
morrisonlevi
force-pushed
the
levi/run-time-cache
branch
2 times, most recently
from
April 20, 2023 16:58
44cb575 to
d3c1224
Compare
…un_time_cache" This reverts a revert, now we know the root cause. I'll fix the root cause in another commit.
morrisonlevi
force-pushed
the
levi/run-time-cache
branch
from
April 20, 2023 17:00
d3c1224 to
0756638
Compare
morrisonlevi
force-pushed
the
levi/run-time-cache
branch
from
April 20, 2023 17:35
fde6211 to
e96152f
Compare
morrisonlevi
commented
Apr 20, 2023
BenchmarksBenchmark execution time: 2023-07-24 06:52:04 Comparing candidate commit 6b9104f in PR branch Found 6 performance improvements and 0 performance regressions! Performance is the same for 0 metrics, 0 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
|
morrisonlevi
commented
Jul 3, 2023
morrisonlevi
commented
Jul 3, 2023
…tivate" This reverts commit a3eedb2.
morrisonlevi
force-pushed
the
levi/run-time-cache
branch
from
July 20, 2023 22:45
bedd8f8 to
f17b9cd
Compare
morrisonlevi
marked this pull request as ready for review
July 21, 2023 15:14
bwoebi
approved these changes
Jul 21, 2023
Bob thinks the 100% prediction on the branch for `ddog_php_prof_run_time_cache_handle < 0` is worth moving it out of the other bitwise-ors. I am indifferent, so switching it.
realFlowControl
approved these changes
Jul 24, 2023
4 tasks
4 tasks
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.
Description
This essentially re-applies #1949, with some changes:
run_time_cacheon calls with trampolines, which causes a crash, see [BUG] Profiling SIGSEGV in 0.86.0 #1993.has_invalid_run_time_cacheto get good codegen out of it.Fix a typo I kept making (stalk_walking instead of stack-walking).Reverted so performance can be more easily be compared when using native profiler.Despite fixing the sigsegv and taking precautions about unbounded memory growth, I think we need to be cautious about rolling this out.
Readiness checklist
Reviewer checklist