From: Tim Starling Date: Fri, 19 Nov 2010 01:40:00 +0000 (+0000) Subject: Use wfGetCache( CACHE_ANYTHING ) instead of $wgMemc to store the result of ResourceLo... X-Git-Tag: 1.31.0-rc.0~33817 X-Git-Url: http://git.cyclocoop.org/%7B%24admin_url%7Dmes_infos.php?a=commitdiff_plain;h=04b2b29db7444904cbf35e2fb84734d7ebacf4e9;p=lhc%2Fweb%2Fwiklou.git Use wfGetCache( CACHE_ANYTHING ) instead of $wgMemc to store the result of ResourceLoader::filter(). Speeds up cold cache view of the main page on a non-APC default installation by a factor of 2.3 (measured using siege, no concurrency, URL list captured from Firefox, server = my laptop). --- diff --git a/includes/resourceloader/ResourceLoader.php b/includes/resourceloader/ResourceLoader.php index ea1173682a..f27d1e36ca 100644 --- a/includes/resourceloader/ResourceLoader.php +++ b/includes/resourceloader/ResourceLoader.php @@ -119,8 +119,6 @@ class ResourceLoader { * @return String: Filtered data */ protected function filter( $filter, $data ) { - global $wgMemc; - wfProfileIn( __METHOD__ ); // For empty/whitespace-only data or for unknown filters, don't perform @@ -132,9 +130,11 @@ class ResourceLoader { return $data; } - // Try for Memcached hit + // Try for cache hit + // Use CACHE_ANYTHING since filtering is very slow compared to DB queries $key = wfMemcKey( 'resourceloader', 'filter', $filter, md5( $data ) ); - $cacheEntry = $wgMemc->get( $key ); + $cache = wfGetCache( CACHE_ANYTHING ); + $cacheEntry = $cache->get( $key ); if ( is_string( $cacheEntry ) ) { wfProfileOut( __METHOD__ ); return $cacheEntry; @@ -159,7 +159,7 @@ class ResourceLoader { } // Save filtered text to Memcached - $wgMemc->set( $key, $result ); + $cache->set( $key, $result ); wfProfileOut( __METHOD__ );