summaryrefslogtreecommitdiffstats
path: root/lib/private/l10n.php
diff options
context:
space:
mode:
authorLukas Reschke <lukas@owncloud.com>2014-11-27 00:01:55 +0100
committerLukas Reschke <lukas@owncloud.com>2014-11-27 00:01:55 +0100
commitb20d698ebd630a5d8030c42d3b88f6ef54224e36 (patch)
treefb5e4c0aeec85b991d8db9394370e6ce9545946b /lib/private/l10n.php
parentc749570a06fa4d24927fbd7aad13b36a8f1ff439 (diff)
downloadnextcloud-server-b20d698ebd630a5d8030c42d3b88f6ef54224e36.tar.gz
nextcloud-server-b20d698ebd630a5d8030c42d3b88f6ef54224e36.zip
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...
Diffstat (limited to 'lib/private/l10n.php')
-rw-r--r--lib/private/l10n.php6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/private/l10n.php b/lib/private/l10n.php
index afa066c30ef..bc4e53e975c 100644
--- a/lib/private/l10n.php
+++ b/lib/private/l10n.php
@@ -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;
}