Test/add benchmark for improving memory pressure #382
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.
This PR removes most default allocations in ast.NewDocument, improving the default allocation memory pressure; I've kept the old behaviour in
NewDocumentWithPrealloc
in case we need to gate the behaviour behind a config flag.The reliance on pre-allocated arrays still remains, and the memory pressure still looks significant at 120KB/op (from 219KB/op) for what is essentially a few 100 bytes of a graphql payload.
Before the change:
After the change:
OpenAI Comparing the two test outputs:
Before Change:
After Change:
Summary of Changes:
Overall, the changes seem to have affected the performance and memory efficiency of the code. The increased allocation count and time per iteration could indicate potential areas for optimization. It's important to further investigate the impact of these changes on the overall application's performance and memory usage.