تخطَّ إلى المحتوى

يحسّن TypeScript 7 استخدام الذاكرة في Go to Implementation

نُشر في: 30 يوليو 2026

دمجت Microsoft إصلاحًا لتحجيم الذاكرة في Go to Implementation ضمن خدمة اللغة الأصلية في TypeScript.

ما الذي تغير

تستخدم خدمة اللغة قائمة عمل بنهج البحث بالعرض أولًا للعثور على عمليات التنفيذ. بالنسبة إلى عضو واجهة له العديد من عمليات التنفيذ، كان من الممكن أن تعيد عمليات البحث المتكررة على مستوى البرنامج المراجع نفسها مجددًا. ولذلك، كان من الممكن أن تنمو المراجع المحتفظ بها والعمل الموضوع في قائمة الانتظار ومجموعات النتائج تربيعيًا، وأن تستنفد الذاكرة في المشاريع الكبيرة ومعقدة الأنواع.

يزيل الإصلاح عقد المراجع المكررة قبل إضافتها إلى قائمة انتظار العمل، ويتجنب الاحتفاظ بتعريفات الرموز المكررة. يتحقق اختبار انحدار من أن مضاعفة عدد عمليات التنفيذ تؤدي إلى نمو خطي تقريبًا بدلًا من نمو تربيعي.

لماذا يهم ذلك

أصبح بإمكان Go to Implementation الآن معالجة هذا النمط دون الاحتفاظ بالمراجع الداخلية نفسها مرارًا. كانت استجابة المحرر النهائية قد أزالت التكرار بالفعل، لذا يستهدف التغيير الذاكرة والعمل الداخليين اللازمين لإنتاج تلك الاستجابة.

التوافر

دُمج التغيير في قاعدة شيفرة TypeScript الأصلية بعد إصدار TypeScript 7.0. لا يحدد المصدر إصدار npm مستقرًا يحتوي على الإصلاح، لذا ينبغي للمستخدمين التحقق من ملاحظات إصدار النسخة المثبتة قبل الاعتماد عليه.

المصدر

اقرأ التغيير الرسمي: Fix O(K^2) OOM issue in go-to-implementation.