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

AncestorsDictionary should be pooled #13110

Closed
Tracked by #8597
Youssef1313 opened this issue Aug 4, 2023 · 2 comments · Fixed by #15538
Closed
Tracked by #8597

AncestorsDictionary should be pooled #13110

Youssef1313 opened this issue Aug 4, 2023 · 2 comments · Fixed by #15538
Assignees
Labels
area/performance 📈 Categorizes an issue or PR as relevant to performance difficulty/starter 🚀 Categorizes an issue for which the difficulty level is reachable by newcomers kind/enhancement New feature or request low-hanging-🍒 Categorizes an issue that might be a quick win with meaningful positive impact.

Comments

@Youssef1313
Copy link
Member

AncestorsDictionary is instantiated and then disposed at the end of the method. Pooling can help improve performance.

On SamplesApp startup, we create about 1,544 AncestorsDictionary instances, totalling 37,056 bytes.

@Youssef1313 Youssef1313 added kind/enhancement New feature or request triage/untriaged Indicates an issue requires triaging or verification difficulty/tbd Categorizes an issue for which the difficulty level needs to be defined. area/performance 📈 Categorizes an issue or PR as relevant to performance labels Aug 4, 2023
@Youssef1313
Copy link
Member Author

Is this created only on the main thread? In this case it could be a static singleton dictionary that gets cleared when finished up with. So we might not need pooling.

@jeromelaban
Copy link
Member

Is this created only on the main thread? In this case it could be a static singleton dictionary that gets cleared when finished up with. So we might not need pooling.

Yes, it's only on the main thread, and the method creating it should not be reentrant either.

@MartinZikmund MartinZikmund added difficulty/starter 🚀 Categorizes an issue for which the difficulty level is reachable by newcomers low-hanging-🍒 Categorizes an issue that might be a quick win with meaningful positive impact. and removed triage/untriaged Indicates an issue requires triaging or verification difficulty/tbd Categorizes an issue for which the difficulty level needs to be defined. labels Sep 20, 2023
@Youssef1313 Youssef1313 self-assigned this Jan 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/performance 📈 Categorizes an issue or PR as relevant to performance difficulty/starter 🚀 Categorizes an issue for which the difficulty level is reachable by newcomers kind/enhancement New feature or request low-hanging-🍒 Categorizes an issue that might be a quick win with meaningful positive impact.
Projects
None yet
3 participants