wiki.techinc.nl/includes/registration
Tim Starling 5586bb1a57 ExtensionRegistry: Add process cache for lazy attributes
getLazyLoadedAttribute() accounts for about 3% of load.php CPU usage in
production, mostly because each ResourceLoaderFileModule calls it for
SkinLessImportPaths, and makeCacheKey() is quite slow.

So, cache lazy attributes in a process cache. There was already
$this->lazyAttributes, which was unused since the original commit. I
assume it was meant to be used for this, so I used  it.

I also added a process cache for makeCacheKey() which is invalidated
when the queue changes, so that requests for different lazy attributes
in the same request will be fast.

Change-Id: I83d22b58bb9bf5d06d934d5d2eef8ae7d5f72857
2022-02-01 21:01:44 +11:00
..
ExtensionDependencyError.php Update Legoktm's email address 2021-05-02 05:39:37 +00:00
ExtensionJsonValidationError.php Mark exceptions as @newable 2020-07-08 17:51:38 +00:00
ExtensionJsonValidator.php registration: Deprecate ParserTestFiles in extension.json 2019-06-02 21:53:31 -04:00
ExtensionProcessor.php Include skin name in deprecation message 2021-12-21 16:06:40 -08:00
ExtensionRegistry.php ExtensionRegistry: Add process cache for lazy attributes 2022-02-01 21:01:44 +11:00
Processor.php registration: Stop double-caching config settings 2021-02-10 16:03:58 -08:00
VersionChecker.php Remove unneeded explicit true/false inside conditions 2021-08-17 21:52:34 +02:00