From e66359fb904c049311bc54a302d3bd2f2ff1795f Mon Sep 17 00:00:00 2001 From: Kunal Mehta Date: Tue, 2 Dec 2014 09:19:18 -0800 Subject: [PATCH] Set optimize-autoloader: true and prepend-autoloader: false in composer.json MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/composer.json b/composer.json index e5ade520c2..bcd196f4fd 100644 --- a/composer.json +++ b/composer.json @@ -40,5 +40,9 @@ "scripts": { "pre-update-cmd": "ComposerHookHandler::onPreUpdate", "pre-install-cmd": "ComposerHookHandler::onPreInstall" + }, + "config": { + "prepend-autoloader": false, + "optimize-autoloader": true } } -- 2.20.1