당신의 codex exec은 턴당 약 900ms를 낭비... 노트

당신의 codex exec은 턴당 약 900ms를 낭비하고 있습니다. 어디에서인지 측정했습니다.

저자는 OpenAI의 Codex CLI JavaScript harness를 Bun으로 재구축하면서 런타임 성능 향상뿐만 아니라 아키텍처 개선점도 발견했습니다. Codex 엔진은 Rust 코어와 JavaScript 계층으로 구성되어 있으며, 이 JavaScript 계층이 Bun으로 대체되었습니다. 새로운 클라이언트가 도입되어 단일 Codex 앱-서버 프로세스를 유지하고 반복적인 프로세스 생성을 피했습니다. 벤치마크 결과, 지속적인 프로세스는 매번 새로운 프로세스를 생성하는 것에 비해 실행 시간을 크게 단축했습니다.놀라운 발견은 Codex의 릴리스 빌드가 텔레메트리 익스포터를 활성화한다는 점이었는데, 이는 메트릭 업로드를 위해 프로세스 종료 시간에 약 900밀리초를 추가합니다. 새로운 프로세스를 생성할 때마다 이 오버헤드가 발생합니다. 설정 파일을 수정하여 메트릭 익스포터를 "none"으로 설정하는 간단한 구성 변경만으로 코드 수정 없이 이 지연을 제거할 수 있습니다.지속적인 프로세스 아키텍처로 인한 성능 향상은 JavaScript 런타임과 독립적이었습니다. Node.js도 유사한 결과를 보였습니다. Bun의 장점은 주로 툴체인에서 나타났으며, 테스트 시작 및 설치 시간을 크게 단축했습니다. 생성된 프로토콜 타입으로 인한 초기 패키지 크기 증가는 선언을 단일 파일로 통합하여 해결되었습니다. 이 노력으로 더 작고 최적화된 패키지가 만들어졌습니다. 전체 기사에서는 다이어그램과 추가 벤치마크를 포함한 기술적 세부 사항을 더 깊이 다룹니다. 코드와 데모는 GitHub에서 확인할 수 있습니다.
CdXz5zHNQW_XGSJPi6oFV.webp