From 57c7c78117ff96f85564f1062418af1197ea16f1 Mon Sep 17 00:00:00 2001 From: Nicolas Mounet Date: Fri, 14 May 2021 12:38:35 +0200 Subject: [PATCH] caching _generate_activity_distribution (for Activity models) --- cara/models.py | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/cara/models.py b/cara/models.py index 1fa3fbe7..9b1185ad 100644 --- a/cara/models.py +++ b/cara/models.py @@ -557,27 +557,29 @@ Activity.types = { 'Heavy exercise': Activity(3.30, 3.30), } -def _generate_activity_distribution(csi: float, lamb: float, samples: int): +@cached +def _generate_activity_distribution(params: typing.Tuple[float, float, int]) -> Activity: + csi, lamb, samples = params return Activity( _lognormal_distribution(csi, lamb, samples), _lognormal_distribution(csi, lamb, samples), ) Activity.distributions = { - 'Seated': lambda n: _generate_activity_distribution( - 0.10498338229297108, -0.6872121723362303, n), + 'Seated': lambda n: _generate_activity_distribution(( + 0.10498338229297108, -0.6872121723362303, n)), - 'Standing': lambda n: _generate_activity_distribution( - 0.09373162411398223, -0.5742377578494785, n), + 'Standing': lambda n: _generate_activity_distribution(( + 0.09373162411398223, -0.5742377578494785, n)), - 'Light activity': lambda n: _generate_activity_distribution( - 0.09435378091059601, 0.21380242785625422, n), + 'Light activity': lambda n: _generate_activity_distribution(( + 0.09435378091059601, 0.21380242785625422, n)), - 'Moderate activity': lambda n: _generate_activity_distribution( - 0.1894616357138137, 0.551771330362601, n), + 'Moderate activity': lambda n: _generate_activity_distribution(( + 0.1894616357138137, 0.551771330362601, n)), - 'Heavy exercise': lambda n: _generate_activity_distribution( - 0.21744554768657565, 1.1644665696723049, n), + 'Heavy exercise': lambda n: _generate_activity_distribution(( + 0.21744554768657565, 1.1644665696723049, n)), }