HeadlinesBriefing favicon HeadlinesBriefing.com

Rust Glancer: بديل LSP منخفض الذاكرة

Hacker News •
×

أود تقديم مشروع عملت عليه خلال الأشهر الأربعة الماضية: تنفيذ بديل لـ LSP في Rust مصمم مع التركيز على انخفاض استخدام الذاكرة. يستهدف أقل من 100 ميجابايت للمشاريع المعقولة ويسمح بالفهرسة الفورية بعد إعادة التشغيل. اختبرته على ماك بوك برو M1 القديم 2020 الخاص بي بسعة 8 جيجابايت رام، وكان أداءه جيداً جداً.

تجعل هذه الميزات [PERSON_NAME] مناسبًا لأجهزة الكمبيوتر القديمة. لم يعد نظام LSP كاملاً بعد، لكنه يحتوي بالفعل على خط أنابيب فهرسة كامل مع استنتاج النوع وحل السمات. معظم بناء جملة Rust العادي مدعوم، وتعمل إجراءات LSP القياسية مثل الانتقال إلى التعريف، والتحويم، واكتمال التعليمات البرمجية كما هو متوقع. يمكنك تجربته عن طريق تثبيت امتداد VS Code.

على عكس rust-analyzer، الذي يستخدم salsa و [PERSON_NAME] لإعطاء الأولوية للسرعة، تربط هذه البنية البيانات بالذاكرة بشكل متأصل وتسبب تجزئة ثقيلة للرام. كانت الفكرة الأساسية هي تخطي التتبع التدريجي داخل الذاكرة. ومن خلال حفظ نتائج التحليل المجمدة في نظام الملفات، يقوم Rust Glancer بإلغاء تحميل البيانات حتى تصبح ضرورية، ويعيد استخدام الفهرسة بعد عمليات إعادة التشغيل، ويقلل بشكل كبير من استهلاك الموارد.