@@ -467,9 +467,13 @@ END
find_recent_duration($dbg,$hid,$candrow);
if ($candrow->{restype} eq 'host') {
- $equivstatusq->execute($job,$blessing,$fi->{branch},
- $hid->{Ident},$candrow->{resname});
- my $esrow = $equivstatusq->fetchrow_hashref();
+ our %equivstatus_memo;
+ my @params = ($job,$blessing,$fi->{branch},
+ $hid->{Ident},$candrow->{resname});
+ my $esrow = $equivstatus_memo{"@params"} //= do {
+ $equivstatusq->execute(@params);
+ $equivstatusq->fetchrow_hashref() // { };
+ };
$candrow->{EquivMostRecentStatus} = $esrow->{status};
print DEBUG "$dbg EQUIV-MOST-RECENT ";
print DEBUG ("$esrow->{flight}.$esrow->{job}".
This provides a very significant speedup. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> --- ts-hosts-allocate-Executive | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-)