# Python 3.15의 JIT이 다시 정상 궤도에 오르다

> Clean Markdown view of GeekNews topic #27618. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=27618](https://news.hada.io/topic?id=27618)
- GeekNews Markdown: [https://news.hada.io/topic/27618.md](https://news.hada.io/topic/27618.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2026-03-18T23:32:58+09:00
- Updated: 2026-03-18T23:32:58+09:00
- Original source: [fidget-spinner.github.io](https://fidget-spinner.github.io/posts/jit-on-track.html)
- Points: 1
- Comments: 0

## Topic Body

- CPython의 **JIT 컴파일러가 macOS AArch64에서 11~12%, x86_64 Linux에서 5~6%** 빠른 성능을 달성하며 목표를 조기 달성  
- 3.13~3.14 버전에서는 JIT이 인터프리터보다 느렸으나, **커뮤니티 중심 개발과 구조 개선**으로 성능이 크게 향상  
- **트레이스 기록(trace recording)** 방식과 **참조 카운트 제거(reference count elimination)** 같은 실험적 시도가 주요 전환점  
- **Savannah Ostrowski, Mark Shannon, Diego Russo, Brandt Bucher** 등 핵심 기여자와 다수의 신규 참여자가 협력  
- 이번 성과는 **커뮤니티 주도 개발과 협업 문화**가 오픈소스 성능 개선에 실질적 효과를 낼 수 있음을 보여줌  

---

### CPython JIT 성능 향상 현황
- macOS AArch64에서 **11~12%**, x86_64 Linux에서 **5~6%** 빠른 성능을 기록  
  - 측정값은 기하평균 기준이며, 일부 벤치마크에서는 **20% 느림에서 100% 이상 빠름**까지 다양  
  - 아직 **free-threading 지원은 미완성** 상태로, 3.15/3.16 버전에서 목표  
- 3.13~3.14 버전의 JIT은 인터프리터보다 느렸으나, 이번 버전에서 **의미 있는 속도 향상** 달성  

### 커뮤니티 중심의 JIT 개발
- 2025년 **Faster CPython 팀의 주요 후원 중단** 이후, 커뮤니티 주도 개발 체제로 전환  
  - 목표: 3.15에서 5% 향상, 3.16에서 10% 향상 및 free-threading 지원  
  - **버스 팩터 감소**를 위해 각 단계(프론트엔드, 미들엔드, 백엔드)에 2명 이상의 유지보수자 확보  
- 복잡한 문제를 세분화해 신규 기여자 참여를 유도  
  - Brandt Bucher가 **‘mega-issues’** 를 통해 작업 단위를 분리  
  - 11명의 기여자가 인터프리터 명령어를 JIT 최적화 친화적으로 변환  
- **기여 독려와 성취 공유 문화**가 참여 지속에 기여  
  - 결과적으로 x86_64 Linux에서 성능이 1% → 3~4% 향상  

### 주요 기술적 전환점
#### 트레이스 기록(trace recording)
- CPython 코어 스프린트에서 **트레이싱 기반 프론트엔드**로 전환  
  - 초기에는 6% 느렸으나, **dual dispatch** 구조 도입으로 성능 개선  
  - 인터프리터 크기 증가를 최소화하면서 **기본 인터프리터 속도 유지**  
- 트레이스 기록 도입으로 **JIT 코드 커버리지 50% 증가**, 이후 최적화 효율 향상  

#### 참조 카운트 제거(reference count elimination)
- Matt Page의 바이트코드 최적화 작업에서 착안  
  - 참조 카운트 감소 시 발생하는 **분기(branch)** 제거로 성능 향상  
  - 단일 분기 제거만으로도 누적 비용 절감 효과 확인  
- 병렬화가 용이하고, **JIT 구조 학습용 과제로 신규 기여자 교육에 활용**  

### 인프라와 팀 구성
- **Savannah Ostrowski**가 4대의 머신으로 JIT 성능 측정 인프라 운영  
  - 일일 JIT 실행 결과로 **성능 회귀(regression)** 조기 탐지  
- **Diego Russo**는 ARM 하드웨어용 JIT과 프로파일러 호환성 개선 담당  
- **Brandt Bucher**는 머신 코드 백엔드 기반을 구축해 신규 기여자 진입 장벽 완화  

### 협업과 지식 교류
- **CF Bolz-Tereick**로부터 PyPy 관련 조언을 받아 JIT 설계 이해도 향상  
- **Max Bernstein** 등 컴파일러 전문가들과의 교류를 통해 **지속적 동기 부여와 기술 성장** 확보  
- PyPy 코드 분석 경험이 **CPython JIT 품질 향상**에 기여  

### 결론
- Python 3.15의 JIT은 **커뮤니티 협력, 기술적 실험, 인프라 개선**이 결합된 결과  
- **사람과 운, 그리고 협업 문화**가 오픈소스 성능 혁신의 핵심 동력임을 입증

## Comments



_No public comments on this page._
