silverstripe-framework/core
micmania1 6e0afd5b3c FIX Prevent unnecessary call to config system which doesn't exist yet
By passing the Config instantiation through the Injector and service configuration we're unnecessarily calling Config::inst()->get() on a config system which doesn't yet exist.

More specifically it calls Config::inst()->get('Config', 'dependencies') here: 4ae0d90c55/control/injector/Injector.php (L660) which in turn calls Config::inst()->get('Config', 'extensions').

This jumps through hoops trying to find the cached config for this class using the current Config_LRU class. When it doesn't find it, it then tries to look through the manifests which don't get created or brought from cache until later on in Core.php. Eventually this returns null for both Config::inst()->get() calls.

I ran a quick performance test before and after on an ec2 t2.micro box using siege (concurrency 5, 10 repetitions) and saved 400ms on average response times on a default installation - it would be awesome if somebody could confirm this is actually the case?
2015-03-03 11:35:26 +00:00
..
manifest FIX: Manifest flushing 2014-11-26 10:15:09 +10:30
startup BUG using isDev or isTest query string no longer triggers basic auth 2014-07-02 11:51:51 +12:00
ArrayLib.php API: Add ArrayLib::flatten($array, $preserveKeys) 2013-05-11 00:00:31 +12:00
ClassInfo.php API: Add ClassInfo::table_for_object_field 2014-09-26 10:38:31 +12:00
Config.php Revert "BUG Config::merge_array_low_into_high() ignores falsey values" 2014-07-09 09:57:25 +12:00
Constants.php Fixed infinity loop when searching _ss_environment 2015-02-17 04:33:40 +00:00
Convert.php Better encoding of javascript 2014-07-07 09:01:53 +12:00
Core.php FIX Prevent unnecessary call to config system which doesn't exist yet 2015-03-03 11:35:26 +00:00
DAG.php Updating @package and @subpackage doc tags 2013-11-29 17:49:30 +13:00
Diff.php API Make HTMLValue replace-able via DI 2013-03-14 12:49:02 +13:00
Extension.php API Marked statics private, use Config API instead (#8317) 2013-03-24 17:20:53 +01:00
Flushable.php NEW Provide a consistent way of triggering flush 2014-08-22 09:24:27 +12:00
HTMLCleaner.php API Make HTMLValue replace-able via DI 2013-03-14 12:49:02 +13:00
Object.php fixed and tested object has_extension 2014-10-24 16:58:50 +13:00
PaginatedList.php Don't show next for anything above TotalPages 2014-02-02 21:13:48 +01:00
TempPath.php BUG Include php version in default cache folder name 2015-02-12 17:29:45 +13:00