[Koha-bugs] [Bug 30860] Add option for CanBookBeReserved to return all item values
bugzilla-daemon at bugs.koha-community.org
bugzilla-daemon at bugs.koha-community.org
Wed Mar 22 19:58:38 CET 2023
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=30860
--- Comment #30 from Nick Clemens <nick at bywatersolutions.com> ---
(In reply to Jonathan Druart from comment #29)
> Created attachment 148562 [details] [review]
> Bug 30860: [alternative patch] Cache CanItemBeReserved return value
>
> Instead of hacking CanBookBeReserved this patch suggests to simply cache
> the return value of CanItemBeReserved that could be then returned *on
> demand*
> We don't want to introduce side-effects hard to catch from this simple
> change, so let's return the cache value only from the 2 scripts we are
> dealing with.
This works, and in initial testing seems to offer improvement.
I have one hesitation
Current:
code calls CanBookBeReserved, which exits on first holdable item,
then we call CanItemBeReserved for every item
Worst case, last item is holdable - for 100 items we call CanItemBeReserved 200
times
My patches:
code calls CanBookBeReserved which in turn calls CanItemBeReserved
for every item. Then we loop over the results for each item
Worst case, we call CanItemBeReserved 100 times - we do this no matter what
Alternate patches:
code calls CanBookBeReserved which exits on first holdable item
we then retrieve any alreayd calculated from cache, then we cache each result
as we go forward.
Worst case - first item is holdable - we retrieve a single value from cache,
then cache every subsequent CanItemBeReserved call and never use it - though we
still only call CanItemBeReserved 100 times max
I don't know what the actual tendency for number of items holdable, but it
feels like we can do a lot of caching that we don't necessarily need.
--
You are receiving this mail because:
You are watching all bug changes.
More information about the Koha-bugs
mailing list