policyengine-core 3.32.12 (PolicyEngine/policyengine-core#556) makes Simulation.get_branch share the simulation's cached arrays with the branch and copy each one only when the branch first reads it. Before, every branch deep-copied every cached array.
This package branches simulations for marginal tax rates (marginal_tax_rate, marginal_tax_rate_wrt_employer_cost, marginal_tax_rate_on_capital_gains), the capital gains realisation response, the labour supply responses and the CPS marriage-neutral income tax reform. #2034 adds a branch to the tax credit path, which costs about 2.5 GB more peak memory per labour-supply run on core 3.32.9.
The floor is policyengine-core>=3.32.9 (#1898). Raise it to 3.32.12 and relock, after checking that results are unchanged.
policyengine-core 3.32.12 (PolicyEngine/policyengine-core#556) makes
Simulation.get_branchshare the simulation's cached arrays with the branch and copy each one only when the branch first reads it. Before, every branch deep-copied every cached array.This package branches simulations for marginal tax rates (
marginal_tax_rate,marginal_tax_rate_wrt_employer_cost,marginal_tax_rate_on_capital_gains), the capital gains realisation response, the labour supply responses and the CPS marriage-neutral income tax reform. #2034 adds a branch to the tax credit path, which costs about 2.5 GB more peak memory per labour-supply run on core 3.32.9.The floor is
policyengine-core>=3.32.9(#1898). Raise it to 3.32.12 and relock, after checking that results are unchanged.