Looks like I misspoke here. I said "It would be nice to get some
feedback from Merlijn about how to solve
the problems he's trying to solve in a more efficient way." I meant
to say "It would be nice to get some feedback FOR Merlijn about how to
solve
the problems he's trying to solve in a more efficient way."
So, I'm bumping this thread for two reasons:
1. Still would like to see some feedback for Merlijn
2. Reminder that we need to either fix or revert Merlijn's changes on
master prior to deploying 1.21wmf6, lest we bring down itwikisource
again. I'm going to guess that without more feedback, Merlijn won't
be able to fix this, so we should plan on reverting on Thursday or so
if this thread goes stale.
Rob
---------- Forwarded message ----------
From: Rob Lanphier <robla(a)wikimedia.org>
Date: Fri, Nov 30, 2012 at 5:03 PM
Subject: Re: [Wikitech-l] LabeledSectionTransclusion performance problems
To: Wikimedia developers <wikitech-l(a)lists.wikimedia.org>
On Fri, Nov 30, 2012 at 4:09 AM, Guillaume Paumier
<gpaumier(a)wikimedia.org> wrote:
On Fri, Nov 30, 2012 at 10:07 AM, Merlijn van Deen
<valhallasw(a)arctus.nl> wrote:
After the new version of
LabeledSectionTransclusion (LST) was deployed on
itwikisource, performance issues popped up. itwikisource's main page makes
heavy use of LST, and the new version is clearly heavier than the old one.
As a sidenote: because of the performance issues, the most recent
changes to the LST extension will probably be reverted today (Friday,
November 30).
If you made changes to articles or templates to accommodate the new
version or benefit from new features, you may want to revert those
changes temporarily.
Aaron just reverted this a little earlier:
https://gerrit.wikimedia.org/r/#/c/36316/
I think the way that he did this, though, means that if we do nothing,
then we'll be redeploying this starting December 10th with the start
of the 1.21wmf6 cycle. There's a reasonable amount of time between
now and then, so we can leave it like this until next week, depending
on the result of this conversation.
It would be nice to get some feedback from Merlijn about how to solve
the problems he's trying to solve in a more efficient way. For those
wanting to see the code in question, Merlijn's main commit is here:
https://gerrit.wikimedia.org/r/#/c/31330/
For my part, it seems that even just making sure that there is only
one extra parse per referenced page might be enough to make this
perform acceptably, even if it means keeping all of the parsed
transcluded pages around in memory. I'm not sure the preferred method
these days (e.g. global, singleton, context object, or attaching to
some other existing object), but that may be worth exploring. This is
just a wild guess, though; I have no idea if that would be too heavy
on our memory usage, and I'm only suggesting it because it seems
relatively easy compared to the alternatives.
Rob