Page MenuHomePhabricator

Add ExtensionRegistry::getLazyLoadedAttribute()
Closed, ResolvedPublic0 Estimated Story Points

Description

This has been on my mind for a while, but based on T220986: [Regression] Increase in APCBagOStuff::get cost it seems like a good idea. We currently cache literally everything in extension.json in APC, even if its not performance critical. A good example of this is stuff that's only needed during unit tests, like ParserTestFiles (which really should be autodiscovered) or QUnitTestModule. If someone wanted that attribute, we could re-read all the extension.json files again when asked for the lazy loaded attribute, since performance isn't critical during tests.

Event Timeline

Change 556790 had a related patch set uploaded (by Legoktm; owner: Legoktm):
[mediawiki/core@master] registration: Implement lazy-loaded attributes

https://gerrit.wikimedia.org/r/556790

Change 556790 merged by jenkins-bot:
[mediawiki/core@master] registration: Implement lazy-loaded attributes

https://gerrit.wikimedia.org/r/556790

Change 558468 had a related patch set uploaded (by Krinkle; owner: Mainframe98):
[mediawiki/core@master] Make TestAutoload{Classes,Namespaces} lazy-loaded attributes

https://gerrit.wikimedia.org/r/558468

Change 559321 had a related patch set uploaded (by Legoktm; owner: Legoktm):
[mediawiki/core@master] [WIP] registration: Cache lazy-loaded attributes

https://gerrit.wikimedia.org/r/559321

Change 558468 abandoned by Mainframe98:
Make TestAutoload{Classes,Namespaces} lazy-loaded attributes

https://gerrit.wikimedia.org/r/558468

Change 559321 merged by jenkins-bot:
[mediawiki/core@master] registration: Cache lazy-loaded attributes and make easier to use

https://gerrit.wikimedia.org/r/559321

Continuing at T187154 with any additional attributes for lazy loading.