Skip to content

Commit eba247f

Browse files
committed
FileTypeMapper - slice memoryCache
1 parent e9dd3a3 commit eba247f

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

src/Type/FileTypeMapper.php

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ class FileTypeMapper
6363
/** @var NameScope[][] */
6464
private array $memoryCache = [];
6565

66+
private int $memoryCacheCount = 0;
67+
6668
/** @var (false|callable(): NameScope|NameScope)[][] */
6769
private array $inProcess = [];
6870

@@ -211,7 +213,18 @@ private function getNameScopeMap(string $fileName): array
211213
$this->cache->save($cacheKey, $variableCacheKey, $map);
212214
}
213215

216+
if ($this->memoryCacheCount >= 512) {
217+
$this->memoryCache = array_slice(
218+
$this->memoryCache,
219+
1,
220+
null,
221+
true,
222+
);
223+
$this->memoryCacheCount--;
224+
}
225+
214226
$this->memoryCache[$fileName] = $map;
227+
$this->memoryCacheCount++;
215228
}
216229

217230
return $this->memoryCache[$fileName];

0 commit comments

Comments
 (0)