Skip to content
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

Reuses the EExpressionArgsReader's list of expressions instead of allocating a new one for each invocation. #1034

Merged

Conversation

tgregg
Copy link
Contributor

@tgregg tgregg commented Jan 16, 2025

Description of changes:
Currently, EExpressionArgsReader.beginEvaluatingMacroInvocation is not called recursively and performs eager materialization, so it is possible to reuse a single list. When we move away from eager materialization of e-expression arguments, this will change (if it's still relevant).

Results:
253 ms / op -> 250 ms/op (-1.2%)
Allocation rate: 219 KB/op -> 201 KB/op (-8.2%)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@tgregg tgregg requested a review from popematt January 16, 2025 21:51
@tgregg tgregg merged commit 8c121f7 into ion-11-encoding Jan 16, 2025
17 checks passed
@tgregg tgregg deleted the ion-11-encoding-optimize-expression-args-reuse branch January 16, 2025 22:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants