Set optimize-autoloader: true and prepend-autoloader: false in composer.json
authorKunal Mehta <legoktm@gmail.com>
Tue, 2 Dec 2014 17:19:18 +0000 (09:19 -0800)
committerBryanDavis <bdavis@wikimedia.org>
Tue, 2 Dec 2014 17:27:09 +0000 (17:27 +0000)
Quoting Tim from 240fd31cfa6b in mediawiki/vendor (prepend-autoloader):
 Composer's autoloader is slow, taking about 63µs per class, whereas
 MediaWiki's is fast, taking about 7µs per class. This adds up to an
 overhead of about 13% of CPU time on short requests such as API calls.
 On those same short requests, MediaWiki's autoloader finds most of the
 classes. So it makes sense to run it first, before the two Composer
 autoloaders. So change the config so that composer passes
 $prepend=false to spl_autoload_register().

optimize-autoloader is also just a good idea in general.

Change-Id: I383c72a85eda415da92e8a9253e83b4ed591768b

composer.json

index e5ade52..bcd196f 100644 (file)
@@ -40,5 +40,9 @@
        "scripts": {
                "pre-update-cmd": "ComposerHookHandler::onPreUpdate",
                "pre-install-cmd": "ComposerHookHandler::onPreInstall"
+       },
+       "config": {
+               "prepend-autoloader": false,
+               "optimize-autoloader": true
        }
 }