Fr Jan 28 2011 07:58:25 EST von IGnatius T Foobar @ Uncensored Betreff: Re: [SCM] citadel.org branch, master, updated. e432540ab02282396bf87eafde6a1698819912ff
This may all be true. What I'm *not* willing to do is go to disk to check the msglist for the current room before each and every message fetch.

I'm sure the tree will be quite unbalanced after the user visits one room, since it is loaded linearly. As other rooms are visited it should theoretically begin to even out.

I tried a different approach at first, where we cached the msglist loaded during any CtdlForEachMessage() operation, and then checked it later. It worked *most* of the time, but there were some edge cases where it simply didn't work. For example, when saving a calendar event, we were heading over to the My Citadel Config room, which burned the cache for the calendar room, and then going back to the calendar room and requesting a specific message number we already knew. That would fail every time.

There is the possibility of caching the msglist when we first arrive in a room, but that could have an effect on interactive performance as well.

since we frequently go over to the config room, how'bout up to n (maybe n=5) rooms?

plus... I think it would be a good thing to have the 'last wirte' timestamp of a room, which could be used to revalidate the cache

Reply via email to