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

Change parameters to exert_logic from iterator to slice #461

Merged
merged 2 commits into from
Feb 23, 2024

Conversation

antiguru
Copy link
Member

This avoid the intermediate allocation for every invocation of exert_logic to create a boxed iterator. Instead, pass a slice that contains the same information previously revealed by the iterator. At the same time, wrap the logic in an option to only invoke it if it is set.

This is the source of around 80% of all allocations in mostly idle Materialize clusters. The lower two large blocks are related to this in the following image.

image

@antiguru antiguru force-pushed the exert_logic branch 2 times, most recently from cea261c to 6d4e47e Compare February 22, 2024 20:50
This avoid the intermediate allocation for every invocation of exert_logic
to create a boxed iterator. Instead, pass a slice that contains the same
information previously revealed by the iterator. At the same time, wrap
the logic in an option to only invoke it if it is set.

Signed-off-by: Moritz Hoffmann <antiguru@gmail.com>
@antiguru antiguru force-pushed the exert_logic branch 2 times, most recently from 5da1f41 to 9f7225e Compare February 22, 2024 21:13
Signed-off-by: Moritz Hoffmann <antiguru@gmail.com>
@frankmcsherry
Copy link
Member

Looks good to me!

@frankmcsherry frankmcsherry merged commit 0f93140 into TimelyDataflow:master Feb 23, 2024
7 checks passed
@antiguru antiguru deleted the exert_logic branch February 23, 2024 20:21
This was referenced Oct 29, 2024
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