Move localecache to array

It seems the DS Set in the polyfill implementation is a lot less
efficient than normal arrays. (A LOT!).
So for now use a stupid normal array.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
This commit is contained in:
Roeland Jago Douma 2020-11-02 15:02:04 +01:00
parent ff08b10a89
commit 441a3434f3
No known key found for this signature in database
GPG Key ID: F941078878347C0C
1 changed files with 5 additions and 7 deletions

View File

@ -37,7 +37,6 @@
namespace OC\L10N; namespace OC\L10N;
use Ds\Set;
use OCP\IConfig; use OCP\IConfig;
use OCP\IRequest; use OCP\IRequest;
use OCP\IUser; use OCP\IUser;
@ -65,9 +64,9 @@ class Factory implements IFactory {
protected $availableLanguages = []; protected $availableLanguages = [];
/** /**
* @var Set * @var array
*/ */
protected $localeCache; protected $localeCache = [];
/** /**
* @var array * @var array
@ -110,7 +109,6 @@ class Factory implements IFactory {
$this->request = $request; $this->request = $request;
$this->userSession = $userSession; $this->userSession = $userSession;
$this->serverRoot = $serverRoot; $this->serverRoot = $serverRoot;
$this->localeCache = new Set();
} }
/** /**
@ -398,14 +396,14 @@ class Factory implements IFactory {
return true; return true;
} }
if ($this->localeCache->isEmpty()) { if ($this->localeCache === []) {
$locales = $this->findAvailableLocales(); $locales = $this->findAvailableLocales();
foreach ($locales as $l) { foreach ($locales as $l) {
$this->localeCache->add($l['code']); $this->localeCache[$l['code']] = true;
} }
} }
return $this->localeCache->contains($locale); return isset($this->localeCache[$locale]);
} }
/** /**