Cache results of available languages
This function is about 8 times calles for every single page call, when caching this variable I was able to gain a small performance improvement from 20,512 µs to 630 µs profiled with xhprof Surely, this is no gigantic gain but if we would do that for every function out there...
This commit is contained in:
parent
c749570a06
commit
b20d698ebd
1 changed files with 6 additions and 0 deletions
|
@ -20,6 +20,7 @@ class OC_L10N implements \OCP\IL10N {
|
|||
* cache
|
||||
*/
|
||||
protected static $cache = array();
|
||||
protected static $availableLanguages = array();
|
||||
|
||||
/**
|
||||
* The best language
|
||||
|
@ -468,6 +469,9 @@ class OC_L10N implements \OCP\IL10N {
|
|||
* @return array an array of available languages
|
||||
*/
|
||||
public static function findAvailableLanguages($app=null) {
|
||||
if(!empty(self::$availableLanguages)) {
|
||||
return self::$availableLanguages;
|
||||
}
|
||||
$available=array('en');//english is always available
|
||||
$dir = self::findI18nDir($app);
|
||||
if(is_dir($dir)) {
|
||||
|
@ -479,6 +483,8 @@ class OC_L10N implements \OCP\IL10N {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
self::$availableLanguages = $available;
|
||||
return $available;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue