Timwi-
I assume you're currently file-caching
complete rendered not-logged-in
pages, right? Well, I don't understand why you have to do that, because
you're artificially limiting yourself to caching only non-logged-in page
views that way.
There's a lot of dynamic stuff depending on user prefs, from numbered
headings to inline javascript to TOCs etc. You would effectively have to
move much of the parsing to a post-rendering stage, which would be a major
PITA to code and complicate the already ugly parser beyond recognition.
About the same could be gained with much less work by caching DB-intensive
operations, such as link checking, using memcached. There's no reason why
we shouldn't have an index of all page titles in memory.
Regards,
Erik
Perhaps we could append a hash of the user preferences to the cache
filename. It would use lots of hard drive space, but it's simple to
implement and would produce little CPU load due since there's no need
for reprocessing. The idea would be to reduce page view time for people
with default, or very slightly altered, preferences.
-- Tim Starling.