Daniel Mayer wrote:
Hey waitaminute - why not place the watchpage list on
a regular wiki page so that Related Changes can do
it's magic on it? As a matter of fact why can't that
/replace/ the slow watchlist code completely? IIRC,
the "Related Changes" and "Recent Changes" code is the
same.
Actually, Related Changes is more like Watchlist than it is like Recent
Changes, and when you dump a couple thousand links to Related Changes,
it's pretty slow too.
Both Related Changes and the Watchlist have the same problem: they have
a long list of pages sorted by ID or title, but need to report them
sorted by timestamp. This requires fetching a couple thousand rows and
sorting every single one before returning the last N edits.
As an example, it takes 10 seconds or so to return Related Changes on a
copy of my watchlist:
http://www.wikipedia.org/wiki/Special:Recentchangeslinked/User:Brion_VIBBER…
and a similar amount of time via Special:Watchlist. (Exact time may vary
up and down depending on what's buffered and how much work the server is
doing, of course. But they seem to be of the same order.)
It's also harder to do mass updates of text pages; watchlist entries
need to be able to automatically follow things like page renames, which
is very easy to do with watchlist associations in their own table.
-- brion vibber (brion @
pobox.com)