Improves memory usage of CSV exporter #19315
Merged
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:
When exporting e.g.
Live.getLastVisitsDetails
with a result that contains a lot visits and some visits that have hundreds of actions, this can currently cause an out of memory problem, as iterating over all the data and extending the result array with thousands of empty keys, bloats up the array too much.Did some local testing having a visit with more than 300 actions and a result set of only around 100 visits.
Before the changes of this PR the API export had a memory peak of around 73.762.528 Bytes
With the changes the peak went down to only 46.386.536 Bytes.
fixes #19158
Review