TypeScript 7 zlepšuje využití paměti funkce Go to Implementation
Zveřejněno: 30. července 2026
Microsoft sloučil opravu škálování spotřeby paměti funkce Go to Implementation v nativní jazykové službě TypeScriptu.
Co se změnilo
Jazyková služba při hledání implementací používá pracovní seznam zpracovávaný prohledáváním do šířky. U členu rozhraní s mnoha implementacemi mohlo opakované prohledávání celého programu znovu vracet stejné reference. Uchovávané reference, práce ve frontě a skupiny výsledků proto mohly růst kvadraticky a vyčerpat paměť ve velkých projektech s hluboce vnořenými typy.
Oprava odstraňuje duplicitní uzly referencí před jejich přidáním do pracovní fronty a zabraňuje uchovávání duplicitních definic symbolů. Regresní test kontroluje, že zdvojnásobení počtu implementací vede k přibližně lineárnímu růstu namísto kvadratického.
Proč je to důležité
Funkce Go to Implementation nyní dokáže tento vzor zpracovat bez opakovaného uchovávání stejných interních referencí. Duplicity již byly z výsledné odpovědi editoru odstraňovány, takže změna se zaměřuje na skrytou spotřebu paměti a práci potřebnou k vytvoření této odpovědi.
Dostupnost
Změna byla sloučena do nativního kódu TypeScriptu po vydání TypeScriptu 7.0. Zdroj neuvádí stabilní verzi npm obsahující tuto opravu, proto by si uživatelé měli zkontrolovat poznámky k vydání své nainstalované verze, než se na ni spolehnou.
Zdroj
Přečtěte si oficiální změnu: Fix O(K^2) OOM issue in go-to-implementation.