[sldev] Proposition of cache improvment
Rob Lanphier
robla at lindenlab.com
Tue Apr 21 10:21:54 PDT 2009
On 04/21/2009 09:42 AM, Joshua Bell wrote:
> Here's another crazy idea that intrepid coders could play with - a two
> level cache, with per-region bucketing and reference counting. Assume
> the resident visits a limited number of regions very frequently, and
> assume that region contents change infrequently on the whole. Implement
> a cache bucket per region. Have items age out of the cache within
> buckets as infrequently as possible (and reference counted, so assets
> used in two regions are only purged if it ages out of both). Limit the
> number of region cache buckets - and possibly make that user-selectable
> (advanced option) - and weight those by time-spent-in-region.
>
That looks like a variation of 2Q caching:
https://wiki.secondlife.com/wiki/Texture_cache#Analysis
I'm going to guess this would be a fine improvement. I'd be hesitant to
implement a more complicated algorithm than 2Q just given the fact that
this area gets so much research, and complicated algorithms rarely
perform as well as you might think they would. I suppose that in the
case of the viewer, texture cache accounting overhead is pretty trivial
(as compared to say, a database with thousands of transactions per
second), so there's more wiggle room to get fancier, but I'll bet the
cost of development + QA + ongoing maintenance of a clever solution
can't be justified by the improvement.
Rob
More information about the SLDev
mailing list