Skip to content
Snippets Groups Projects
Jameson Graef Rollins's avatar
Jameson Rollins authored
nb.precomp decorator can be used to wrap BudgetItem.calc methods with
functions that only need to be called once per budget run.

    nb.precomp(precomp_foo)
    def calc(self):
        ...

Precomp functions are all executed by the update() method (after attribute
update), and execution state is cached at the Budget level, to prevent
re-calculating the same functions multiple times per update.

The BudgetItem.update() method is no longer expected to be overloaded by
the user.

This provides a speed-up of about 50% for the Aplus model, but much less
for the CE models which are limited by other noise calculations.
dc1d71b1
History
Name Last commit Last update