LRU cache for ~=
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.org
Mon Oct 19 17:09:28 PDT 2009
dsimcha wrote:
> == Quote from Andrei Alexandrescu (SeeWebsiteForEmail at erdani.org)'s article
>> dsimcha wrote:
>>> Started playing w/ the implementation a little and I see a problem. What about
>>> the garbage collector? There are two possibilities:
>> [snip]
>>> The only possible solutions I see would be to have the GC know everything about
>>> the LRU cache and evict stale entries (probably slows down GC a lot, a huge PITA
>>> to implement, couples things that shouldn't be tightly coupled), or clear the
>>> cache every time GC is run (probably would make appending so slow as to defeat the
>>> purpose of having the cache).
>> I think GC.collect may simply evict the entire cache. The collection
>> cycle costs so much, the marginal cost of losing cached information is
>> lost in the noise.
>> Andrei
>
> But then you have to copy the whole array again, likely triggering another GC if
> the array is large. Then things really get ugly as, for all practical purposes,
> you've completely done away with the cache.
This happens whether or not a cache is in use.
Andrei
More information about the Digitalmars-d
mailing list