Bug 19190: Silly calculation of average time in touch_all scripts
authorMarcel de Rooy <m.de.rooy@rijksmuseum.nl>
Mon, 28 Aug 2017 09:59:19 +0000 (11:59 +0200)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Mon, 9 Oct 2017 19:15:48 +0000 (16:15 -0300)
When you want to calculate average time, do not divide count by time :)

Test plan:
Run the script with a where condition and verbose option and see that
the average time is meaningful.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: David Bourgault <david.bourgault@inlibro.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
misc/maintenance/touch_all_biblios.pl
misc/maintenance/touch_all_items.pl

index d091089..b6a5add 100755 (executable)
@@ -99,7 +99,7 @@ my $endtime = time();
 my $time = $endtime-$startime;
 my $accuracy = ($goodcount / $totalcount) * 100; # this is a percentage
 my $averagetime = 0;
-unless ($time == 0) { $averagetime = $totalcount / $time; };
+$averagetime = $time / $totalcount if $totalcount;
 print "Good: $goodcount, Bad: $badcount (of $totalcount) in $time seconds\n";
 printf "Accuracy: %.2f%%\nAverage time per record: %.6f seconds\n", $accuracy, $averagetime if (defined $verbose);
 
index fdbce5c..64c70e3 100755 (executable)
@@ -98,7 +98,7 @@ my $endtime = time();
 my $time = $endtime-$startime;
 my $accuracy = ($goodcount / $totalcount) * 100; # this is a percentage
 my $averagetime = 0;
-unless ($time == 0) {$averagetime = $totalcount / $time;};
+$averagetime = $time / $totalcount if $totalcount;
 print "Good: $goodcount, Bad: $badcount (of $totalcount) in $time seconds\n";
 printf "Accuracy: %.2f%%\nAverage time per record: %.6f seconds\n", $accuracy, $averagetime if (defined $verbose);