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 버전으로 교체하고, 임시 호환 계층을 두 언어가 서로 통신하도록 했다. 덕분에 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, 쉽게 정리

매주 월요일, 알아둘 만한 소식을 쉬운 말로. 무료, 스팸 없음.