Reduce allocations for getStackLineInfo + getStackAddressInfo #5761
+346
−132
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.
Production | Deploy preview
On large profiles, opening the source view can cause large allocations because we create
Setobjects for many stacks. In this PR I've experimented with a more compact storage of a collection of sets.Before: https://share.firefox.dev/3NnthpO
After: https://share.firefox.dev/45dMNv1
getStackLineInfonow allocates 46MB instead of 220MB (4.8x reduction), and takes 146ms instead of 338ms (2.3x reduction), when opening the source view formozjemalloc.cppon https://share.firefox.dev/3NnzEcF.To do:
getStackLineInfoandgetStackAddressInfo