Oossa

GitHub、Copilotの実行基盤をRustに移行し起動時間を短縮

GitHubはCopilot CLI、アプリ、SDKの実行基盤をRustで書き換え、起動時間を5.25秒から0.29秒に短縮。Node.jsによる約100MBのメモリー負荷も解消した。

著者: Oossa公開日: 1 分で読める

Fotis Fotopoulos · Unsplash

GitHubは、Copilotのコマンドラインツール、デスクトップアプリ、SDKの中核部分をTypeScript/Node.jsからRustへ移行した。書き換えた本番コードは約80万行に上り、AI生成コードも活用した。実行基盤を同じプロセス内で動かす場合、Copilotクライアントの起動時間は5.25秒から292ミリ秒に短縮された。

移行の進め方

GitHubは段階的な手法を採用した。TypeScriptの小さな部分をRust版に置き換えながら、一時的な互換レイヤーを使って2つの言語を連携させた。これにより、14.5週間にわたる作業中も既存のテストスイートを継続して実行できた。移行期間中には、プルリクエスト128件とリリース135件(安定版35件、プレリリース100件)を公開した。

開発者への影響

新しいRust実行基盤はC ABIを介してホストアプリに直接組み込めるため、別のNode.jsプロセスと、それに伴う約100MBのメモリー使用量が不要になる。分離が必要な場合に備え、プロセスを分けて実行するモードも引き続き利用できる。Copilot SDKは引き続きTypeScript、Python、Go、.NET、Javaをサポートし、新たにRustにも対応した。

なぜ重要か

Copilotを使う開発者にとって、起動が速くなることで待ち時間が減り、作業がよりスムーズになる。メモリー使用量が減るため、リソースの限られたマシンやCIパイプラインにも適しやすくなる。また、実行基盤を直接組み込めることで、独自のIDE拡張機能との連携をより密にできる。

この記事は役に立ちましたか?
共有

次に読む

Oossa · ニュースレター

今週のAIを、わかりやすく

毎週月曜日、知っておきたいニュースをやさしい言葉で。無料・スパムなし。