Hi!
And if such perfomance is *so* important (they're all cached, aren't they?)
we cache parser cache. we do not know which interface messages depend on context and which do not, so we can't apply proper caching there. I added sitenotice cache exactly because of that, as I knew it's static across all pages.
{{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.
There's much more to {{ expansions. People add all sorts of stuff there. What I care is that messages which are shown at least in 5% page views, shouldn't be parsed. It is especially wrong with messages, that are parsed at 100% of page views.
Domas