Commit b20d698e authored by Lukas Reschke's avatar Lukas Reschke
Browse files

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...
parent c749570a
......@@ -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;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment