-
Python 3.14는 지금까지의 CPython 버전 중 가장 빠른 성능을 보임
-
JIT(Just-In-Time) 인터프리터는 이 벤치마크 기준에서 눈에 띄는 성능 향상 없음
-
Free-threading 인터프리터는 멀티스레드에서 CPU 집약적 작업에 한해 표준 인터프리터보다 빠른 결과를 보임
-
Pypy는 여전히 압도적으로 뛰어난 속도를 자랑하며, Node.js와 Rust도 비교 대상으로 사용됨
- 벤치마크 결과는 참고용 데이터임을 강조하며, 실제 애플리케이션과 차이가 있을 수 있음
개요
2025년 10월 8일, Python 3.14의 공식 출시 직후 여러 버전의 Python 및 다른 언어와의 성능 벤치마크 결과를 공유함. 이 테스트는 순수 Python 코드만으로 작성된 간단한 재귀(피보나치)와 반복(버블 정렬) 함수로 진행됨. 실제 개발 현장에서는 C/C++/Rust 등 네이티브 코드와 섞어 쓰는 경우가 많으므로, 이 결과는 실생활에 1:1 대응하지 않음을 미리 언급함.
벤치마크 방식을 둘러싼 주의점
- 다양하고 복잡한 환경의 Python 인터프리터 성능을 단 몇 개의 간단한 스크립트만으로 완벽히 평가하기는 어려움
- 벤치마크는 재미 요소가 크고, 데이터는 참고 지표로 사용 가능
- 테스트는 의존성 없이 순수 Python 코드만을 사용, 네이티브 확장 사용을 배제함
- 실생활 코드와는 성격이 다름을 감안해야 함
테스트 매트릭스
- 테스트 환경
-
Python 6가지 버전(3.9~3.14), Pypy, Node.js, Rust 포함
-
Python 인터프리터: 표준(Standard), JIT, Free-threading(각각 3.13 이상)
-
테스트 스크립트: 피보나치(fibo.py), 버블정렬(bubble.py)
-
스레드 모드: 단일 스레드, 4 스레드
-
테스트 머신: Linux(Framework i5), macOS(M2)
- Node.js, Rust 버전도 참고 대상으로 함께 비교
테스트 스크립트
-
피보나치(fibo.py): 재귀 구조 사용, fibo(40)을 각 환경에서 실행
-
버블 정렬(bubble.py): 10,000개의 랜덤 숫자 정렬
- 각 테스트는 3회 반복하여 평균값 산출
- 테스트 코드는 GitHub 저장소에 공개
Benchmark #1: 피보나치(단일 스레드)
- Python 3.14는 3.13 대비 약 27% 향상된 속도(6.59초 vs 8.26초) 기록
- 3.11 버전에서부터 "매우 느림"에서 "그나마 덜 느림"으로 전환됨
-
Pypy는 3.14보다 약 5배 빠르며, Node.js와 동급, Rust는 압도적으로 가장 빠름
- Free-threading은 단일 스레드에서 표준 버전보다 여전히 느리지만, 3.14로 오면서 속도 차이가 감소(91% 수준)
JIT, Free-threading 인터프리터
- JIT은 이 재귀 함수 구조에서 체감 성능 향상 없음
- Free-threading은 단일 스레드에서는 오히려 약간 느린 결과
- JIT의 성능 향상 한계는 함수 구조에 따라 다를 수 있음
Benchmark #2: 버블 정렬(단일 스레드)
- Python 3.14가 3.11 대비 근소하게 더 빠르나, 격차는 피보나치보다 작음(3.14: 2.18초, 3.11: 2.48초)
- Pypy는 3.14보다 약 18배 빠름
- JIT은 Linux 환경에서 소폭 빠르기도, macOS에서는 차이가 거의 없음
Benchmark #3: 피보나치(멀티스레드)
- 표준 인터프리터에서는 GIL(Global Interpreter Lock)로 인해 스레드 수를 늘려도 기대만큼 빠르지 않음
- Free-threading 인터프리터(3.14)는 표준 대비 3.1배 빨라짐
- JIT의 영향은 거의 확인되지 않음
- Pypy 결과만 측정 진행됨, Node.js/Rust는 이 테스트에서 비교하지 않음
Benchmark #4: 버블 정렬(멀티스레드)
- Free-threading(3.14 FT)이 표준(3.14) 대비 2배 빠른 결과(특히 CPU 집약 작업에서 장점 부각)
- JIT은 명확한 성능 우위 없음
- Mac의 Free-threading 성능이 눈에 띔
결론
-
CPython 3.14가 현존 CPython 중에서 가장 빠른 성능을 보임
- 업그레이드가 어렵다면 3.11 이상 버전 사용 권장
-
JIT 인터프리터는 실제로 체감되는 속도 증가는 미미했음
-
Free-threading 인터프리터는 멀티스레드 CPU 집약 상황에서 뚜렷한 장점
-
Pypy는 압도적으로 빠르며, 추가적인 탐구의 가치가 큼
기타
- 결과는 다양한 환경 변수에 따라 다를 수 있으니, 직접 벤치마크 및 확인 권장
- 자세한 내용 및 코드는 GitHub 저장소 참조 가능