TypeScript 7 meningkatkan penggunaan memori Go to Implementation
Diterbitkan: 30 Juli 2026
Microsoft menggabungkan perbaikan penskalaan memori untuk Go to Implementation di language service native TypeScript.
Perubahan
Language service menggunakan worklist breadth-first untuk menemukan implementasi. Untuk anggota interface dengan banyak implementasi, pencarian berulang di seluruh program dapat mengembalikan referensi yang sama lagi. Referensi yang dipertahankan, pekerjaan yang diantrikan, dan grup hasil karena itu dapat bertumbuh secara kuadratik serta menghabiskan memori pada proyek besar dengan tipe yang mendalam.
Perbaikan ini mendeduplikasi node referensi sebelum menambahkannya ke antrean kerja dan menghindari penyimpanan definisi simbol duplikat. Pengujian regresi memeriksa bahwa menggandakan jumlah implementasi menghasilkan pertumbuhan yang kira-kira linear, bukan kuadratik.
Mengapa ini penting
Go to Implementation kini dapat memproses pola ini tanpa berulang kali menyimpan referensi internal yang sama. Respons akhir editor memang sudah dideduplikasi, sehingga perubahan ini menargetkan memori tersembunyi dan pekerjaan yang diperlukan untuk menghasilkan respons tersebut.
Ketersediaan
Perubahan ini digabungkan ke codebase native TypeScript setelah rilis TypeScript 7.0. Sumbernya tidak menyebutkan versi npm stabil yang berisi perbaikan ini, jadi pengguna sebaiknya memeriksa catatan rilis untuk versi yang terpasang sebelum mengandalkannya.
Sumber
Baca perubahan resmi: Fix O(K^2) OOM issue in go-to-implementation.