From 9ac252df2a24108803bcdf9a85feba168cc9a73c Mon Sep 17 00:00:00 2001 From: nasseeder1 Date: Mon, 19 Sep 2022 20:37:20 +0000 Subject: [PATCH] 93_DbRep: reduce memory allocation of reduceLog command git-svn-id: https://svn.fhem.de/fhem/trunk@26429 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/CHANGED | 1 + fhem/FHEM/93_DbRep.pm | 14 +++++++------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/fhem/CHANGED b/fhem/CHANGED index ea85f3ba9..947c5823b 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,5 +1,6 @@ # Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # Do not insert empty lines here, update check depends on it. + - change: 93_DbRep: reduce memory allocation of reduceLog command - change: 88_HMCCU: Bug fixes and improvements - change: 93_DbRep: enable setter 'index' for device model 'Agent' - bugfix: 70_Klafs: Transferred to namespace of FHEM. diff --git a/fhem/FHEM/93_DbRep.pm b/fhem/FHEM/93_DbRep.pm index 112b278c7..9dfc5b414 100644 --- a/fhem/FHEM/93_DbRep.pm +++ b/fhem/FHEM/93_DbRep.pm @@ -57,6 +57,7 @@ no if $] >= 5.017011, warnings => 'experimental::smartmatch'; # Version History intern my %DbRep_vNotesIntern = ( + "8.50.3" => "19.09.2022 reduce memory allocation of function DbRep_reduceLog ", "8.50.2" => "17.09.2022 release setter 'index' for device model 'Agent' ", "8.50.1" => "05.09.2022 DbRep_setLastCmd, change changeValue syntax, minor fixes ", "8.50.0" => "20.08.2022 rework of DbRep_reduceLog - add max, max=day, min, min=day, sum, sum=day ", @@ -8944,7 +8945,6 @@ sub DbRep_reduceLog { my $ots = $paref->{rsn} // ""; my @a = @{$hash->{HELPER}{REDUCELOG}}; - #my $rlpar = join " ", @a; my $err = q{}; @@ -9117,7 +9117,7 @@ sub DbRep_reduceLog { $err = _DbRep_rl_deleteDayRows ($params); return "$name|$err" if ($err); - @dayRows = (); + undef @dayRows; } if ($mode =~ /average|max|min|sum/i) { @@ -9140,7 +9140,7 @@ sub DbRep_reduceLog { $err = _DbRep_rl_updateHour ($params); return "$name|$err" if ($err); - @updateHour = (); + undef @updateHour; } if ($mode =~ /=day/i && scalar @updateDay) { @@ -9165,9 +9165,9 @@ sub DbRep_reduceLog { } - %hourlyKnown = (); - @updateHour = (); - @updateDay = (); + undef %hourlyKnown; + undef @updateHour; + undef @updateDay; $currentHour = 99; } @@ -9182,7 +9182,7 @@ sub DbRep_reduceLog { push(@updateHour, {%hourlyKnown}); } - %hourlyKnown = (); + undef %hourlyKnown; $currentHour = $hour; }