On Fri, Jul 23, 2010 at 8:47 AM, dormando <[email protected]> wrote:

> I tried.
>
> Try the engine branch?
>
> I guess, I'll have to at some point.

Just wanted to say, that LRU was designed as an algorithm for a uniform cost
model, where all elements are almost equally important (have the same cost
of miss) and the only thing that distinguishes them is the pattern of
accesses. This is clearly not a good model for memcache, where: some
elements are totally unimportant as they have already expired, some elements
are larger than the others, some are always processed in batches
(multigets), and so on. In my opinion GC moves the reality closer to the
model, by removing unimportant elements, so if you want LRU to work
correctly you should at least perform GC. You could also try to modify LRU
to model that one large item actually occupies space that could be better
utilies by several small elements (this is also a simple change). If you
fill comfortable without GC, I am OK with that, just do not suggest, that GC
is against LRU.

Reply via email to