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

Optimize memory and performance impacts #164

Open
nikhilwoodruff opened this issue Aug 25, 2021 · 3 comments
Open

Optimize memory and performance impacts #164

nikhilwoodruff opened this issue Aug 25, 2021 · 3 comments
Labels
enhancement New feature or request

Comments

@nikhilwoodruff
Copy link
Collaborator

This model wasn't written with memory usage at the forefront of its targets, but with the tax-benefit system now written with its complexity, a smaller performance and memory footprint would be hugely beneficial. I can think of one way: finding the subset of variables involved in the net_income computation tree.

@nikhilwoodruff nikhilwoodruff added the enhancement New feature or request label Aug 25, 2021
@MaxGhenis
Copy link
Collaborator

As in, using the baseline values for all variables except those affected by the reform (directly or indirectly)? Could this go in core?

@nikhilwoodruff
Copy link
Collaborator Author

I think so, just investigating the tracer tool in Core which shows the breakdown of computation time for a full run:

image

Not sure exactly how to interpret this, because some of the variable lengths are due to the order of calculation rather than the cost. For example, because income tax is first calculated to get the Housing Benefit applicable income, its duration appears under housing benefit and then just needs to consult the cache when actually calculating income tax.

@MaxGhenis
Copy link
Collaborator

If this is still in progress, could we make the issue title more specific?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants