As I understood from discussion with Domas, the
problem was the
double-brace substitution in messages used within the skins, that is;
messages which are used on each page view. These go through the parser
and impact performance.
Reducing these to using canonical namespace names helps, and doesn't
harm the interface, since all those uses have corresponding "caption"
messages.
I was surprised when Gangleri told me about it.
{{ns: }} *should be* the preferred method. If you link to
something/wiki/Project:Foo then whoever clicks on it will go under a
redirection. People looking at the target of redirection on a chinese wiki
won't expect an english word.
And if such perfomance is *so* important (they're all cached, aren't they?)
{{ns: substitution on the skin could be directly at php level, without {{
parsing, with str_replace() calls, which should be much faster.Yeah, it'd
break the 'in order parse' and force {{ns:}} substitution to be handled the
first, but i don't think it can be so bad. We already have(had) worse
things. I think it's worse to be hardcoding the {{ns: }} You can always
script from {{ns:Foo}} to LangFoo: but you can't do it the other way round.
Platonides