گیتهاب انتقال هسته ابزار خط فرمان Copilot، اپلیکیشن دسکتاپ و SDK خود را از TypeScript/Node.js به Rust به پایان رساند. در این بازنویسی حدود 800,000 خط کد عملیاتی جایگزین شد و کدهای تولیدشده با هوش مصنوعی هم در آن به کار رفت. این تغییر، زمان راهاندازی کلاینت Copilot را هنگام اجرای محیط اجرایی در همان فرایند، از 5.25 ثانیه به 292 میلیثانیه کاهش داد.
مهاجرت چگونه انجام شد
گیتهاب رویکردی تدریجی در پیش گرفت. بخشهای کوچکی از TypeScript با نسخههای Rust جایگزین شدند و یک لایهٔ سازگاری موقت امکان ارتباط این دو زبان را فراهم کرد. به این ترتیب، مجموعهآزمونهای موجود در تمام مدت این تلاش 14.5 هفتهای قابل اجرا ماند. در مجموع، همزمان با پیشرفت مهاجرت، 128 درخواست ادغام و 135 انتشار (35 پایدار و 100 پیشانتشار) منتشر شد.
این تغییر برای توسعهدهندگان چه معنایی دارد
محیط اجرایی جدید Rust را میتوان از طریق C ABI مستقیماً در برنامههای میزبان جاسازی کرد؛ در نتیجه دیگر نیازی به فرایند جداگانهٔ Node.js و حدود 100 MB حافظهٔ موردنیاز آن نیست. برای مواردی که به جداسازی نیاز دارند، حالت خارج از فرایند همچنان در دسترس است. Copilot SDK همچنان از TypeScript، Python، Go، .NET و Java پشتیبانی میکند و حالا Rust را هم پشتیبانی میکند.
چرا مهم است
برای توسعهدهندگانی که از Copilot استفاده میکنند، راهاندازی سریعتر یعنی انتظار کمتر و روند کاری روانتر. مصرف حافظهٔ کمتر، این ابزار را برای دستگاههای کممنبع یا خط لولههای CI مناسبتر میکند. امکان جاسازی مستقیم محیط اجرایی نیز راه را برای یکپارچهسازی نزدیکتر با افزونههای سفارشی IDE باز میکند.