[Koha-bugs] [Bug 16044] Define a L1 cache for all objects set in cache

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Thu Mar 17 17:47:23 CET 2016


https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=16044

--- Comment #21 from Jacek Ablewicz <abl at biblos.pk.edu.pl> ---
(In reply to Jacek Ablewicz from comment #20)

> This may be the problem; get_from_cache() which involves dclone() will be
> significantly slower, and Koha::Cache as a whole will suffer severe
> performance loss if used in the "safe" way.

But I think that issue is utterly fixable, if complex structures are stored in
L1 cache in two forms

   {
       frozen => ..
       thawed => 
   }

We'll need to send 'thawed' scalar to memcached somehow packaged (e.g. in [ ]),
to be able to distinguish if it was originally a scalar or not. And the complex
structures in L2 cache will be double-frozen. But the 2nd freeze call (inside
Memcached::Fast) should be very cheap - at that stage, this wouldn't be a
complex data structure any more. Unless I'm very much mistaken (see comment #20
item 3) a side effect of this will be a performance gain - after this bug,
fetching MARC framework with get_from_cache() will take 10 ms instead of 12.5
ms on average, even with Koha::Cache used entirely in the "safe" mode. Win-win
situation ;).

-- 
You are receiving this mail because:
You are watching all bug changes.


More information about the Koha-bugs mailing list