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

Implement functor caching for finite-volume-based arguments #20470

Closed
lindsayad opened this issue Mar 3, 2022 · 0 comments · Fixed by #20474
Closed

Implement functor caching for finite-volume-based arguments #20470

lindsayad opened this issue Mar 3, 2022 · 0 comments · Fixed by #20474
Assignees
Labels
C: Framework T: task An enhancement to the software.

Comments

@lindsayad
Copy link
Member

Reason

@joe61vette has some table-lookups that are very expensive and so we don't want to keep re-evaluating for every time we call a functor property at a given location

Design

very similar to what we do for the finite element arguments

Impact

speed up some finite volume computations at the expense of memory

@lindsayad lindsayad added T: task An enhancement to the software. C: Framework labels Mar 3, 2022
@lindsayad lindsayad added this to To do in FY22 NEAMS MP - TA Support via automation Mar 3, 2022
@lindsayad lindsayad self-assigned this Mar 4, 2022
lindsayad added a commit to lindsayad/moose that referenced this issue Mar 4, 2022
Got to use structured bindings and `try_emplace` for the first time.
I'm a little concerned about the cost of binary trees but I feel like
hashing of the finite volume functor arguments could be even more expensive.
I think if this shows up as an important piece of a profile, then we
can investigate an unordered_map implementation

Closes idaholab#20470
FY22 NEAMS MP - TA Support automation moved this from To do to Done Mar 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: Framework T: task An enhancement to the software.
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

1 participant