본문 바로가기
IT/소프트웨어

🚀 파이썬 3.14, 정말 빨라졌을까?

by DrKo83 2025. 10. 29.
300x250
반응형

 

안녕하세요! 2025년 10월 7일, 드디어 파이썬 3.14가 정식 출시되었어요. 파이썬 개발자라면 누구나 한 번쯤 들어봤을 그 이야기, "파이썬은 느리다"는 말이죠. 그런데 이번 3.14 버전은 좀 다른데요. 과연 파이썬이 오랜 숙제였던 속도 문제를 해결했을까요? 함께 자세히 살펴볼게요.

파이썬은 왜 이렇게 사랑받을까요?

먼저 현재 파이썬의 위상부터 살펴볼까요? 2025년 스택오버플로우 개발자 설문조사에 따르면, 파이썬은 전체 개발자의 57%가 사용하는 두 번째로 인기 있는 프로그래밍 언어예요. 특히 지난 1년간 무려 7%포인트나 증가했는데, 이는 단일 언어로는 가장 큰 증가폭이랍니다.

제트브레인스의 2025년 파이썬 현황 보고서를 보면 더 놀라워요. 3만 명 이상의 개발자를 대상으로 한 조사에서, 파이썬 개발자의 34%가 파이썬을 주 언어로 사용한다고 답했거든요. 특히 인공지능과 머신러닝 분야에서는 41%의 개발자가 파이썬을 활용하고 있고, 데이터 분석 및 처리 분야에서는 51%가 파이썬을 쓰고 있어요.

시장 규모도 어마어마해요. 파이썬 웹 프레임워크 시장은 2024년 182억 달러(약 24조 원)에서 2032년에는 1,778억 달러(약 237조 원)로 성장할 것으로 예측되고 있답니다. 거의 10배 가까운 성장이죠!

벤치마크 테스트, 어떻게 진행했나요?

이번 성능 테스트는 파이썬 개발자 미구엘 그린버그가 진행했어요. 그는 순수 파이썬 코드만으로 테스트를 진행했는데요, 실제 애플리케이션은 NumPy나 Pandas 같은 C 기반 라이브러리를 함께 사용하기 때문에 이 벤치마크가 절대적인 지표는 아니에요. 하지만 순수 파이썬 성능을 측정하는 데는 충분하죠.

테스트에는 CPython 3.9부터 3.14까지, 그리고 PyPy 3.11, Node.js 24, Rust 1.90이 포함됐어요. 파이썬 3.13부터는 세 가지 버전의 인터프리터가 제공되는데요.

표준 인터프리터, JIT(Just-In-Time) 컴파일러가 포함된 버전, 그리고 GIL(Global Interpreter Lock)을 제거한 프리스레딩 버전이에요. GIL은 그동안 파이썬의 멀티스레드 성능을 제약했던 주요 원인이었거든요.

테스트 시나리오는 두 가지였어요. 첫 번째는 재귀 호출이 많은 피보나치 수열 계산(40번째 숫자), 두 번째는 반복문 중심의 버블 정렬(1만 개의 랜덤 숫자)이었죠. 각각 싱글스레드와 4개 스레드 환경에서 측정했어요.

테스트 환경은 인텔 코어 i5가 탑재된 우분투 리눅스 24.04 프레임워크 노트북과 M2 칩이 들어간 맥OS 세쿼이아 맥북이었답니다.

피보나치 테스트, 놀라운 결과

40번째 피보나치 수를 계산하는 첫 번째 테스트에서 파이썬 3.14는 리눅스에서 6.59초, 맥OS에서 6.39초가 걸렸어요. 이전 버전인 3.13과 비교하면 무려 27%나 빨라진 결과예요!

버전별로 비교해보면 더 흥미롭죠. 파이썬 3.9는 3.14보다 2배 이상 느렸고, 3.10도 비슷했어요. 그런데 3.11부터는 확 빨라졌답니다. 이때부터 파이썬이 '매우 느림'에서 '괜찮은 수준'으로 올라섰다고 볼 수 있어요.

하지만 정말 충격적인 건 따로 있었어요. PyPy는 3.14보다 거의 5배나 빨랐거든요! Node.js도 비슷한 수준이었고요. 물론 Rust는 차원이 다르게 빨라서 3.14보다 무려 70배나 빨랐답니다.

포로닉스의 AMD 라이젠 9 9950X3D 데스크탑 환경 테스트에서도 비슷한 결과가 나왔어요. 파이썬 3.14는 3.12와 3.13에 비해 대부분의 벤치마크에서 상당한 성능 향상을 보였답니다.

JIT와 프리스레딩, 기대에는 못 미쳤지만

파이썬 3.13부터 도입된 JIT 컴파일러와 프리스레딩 인터프리터도 함께 테스트했어요.

솔직히 말하면 JIT는 좀 실망스러웠어요. 싱글스레드 환경에서는 표준 인터프리터와 거의 차이가 없었거든요. 공식 문서에 따르면, 파이썬 3.14의 새로운 테일 콜 인터프리터는 Clang 19로 컴파일했을 때 파이퍼포먼스 벤치마크 스위트에서 기하평균 3-5% 더 빠른 성능을 보였다고 해요. 초기 보고에서는 9-15%의 속도 향상이 있다고 했지만, Clang/LLVM 19 컴파일러 버그가 발견된 후 하향 조정됐답니다.

프리스레딩 인터프리터는 싱글스레드에서는 오히려 느렸어요. 3.13에서는 표준 인터프리터보다 거의 절반 수준이었는데, 3.14에서는 많이 개선되어서 91% 수준까지 올라왔어요. 공식 문서에 따르면 현재 프리스레딩 모드의 성능 저하는 플랫폼과 C 컴파일러에 따라 약 5-10% 정도라고 해요. 그래도 여전히 조금 느리긴 하네요.

하지만 메모리 사용량은 약간 증가했어요. 프리스레딩 빌드는 기존 GIL 빌드에 비해 15-20% 더 많은 메모리를 사용한다고 공식 문서에 나와 있답니다.

버블 정렬 테스트, 조금 다른 양상

1만 개의 랜덤 숫자를 정렬하는 버블 정렬 테스트도 진행했어요.

파이썬 3.14는 리눅스에서 2.18초, 맥OS에서 2.05초가 걸렸어요. 이번에도 가장 빨랐지만, 피보나치 테스트만큼 압도적이지는 않았어요. 3.11이 3.14 대비 91% 수준이었거든요.

재미있는 건 3.12와 3.13이 오히려 3.11보다 느렸다는 거예요. 정확한 이유는 밝혀지지 않았지만, 작년 벤치마크에서도 같은 현상이 나타났다고 하네요.

이번에도 PyPy는 압도적이었어요. 3.14보다 18배나 빨랐고, Node.js보다도 3배나 빨랐답니다. Rust는 말할 것도 없이 36배 빨랐고요.

JIT 인터프리터는 리눅스에서는 약간 빨랐지만 맥에서는 오히려 느렸어요. 프리스레딩도 여전히 표준보다 느렸지만, 3.13 때보다는 많이 개선됐답니다.

멀티스레드 테스트, 프리스레딩의 진가를 보다

이제 정말 재미있는 부분이에요. 4개 스레드로 동시에 작업을 처리하는 테스트인데요.

피보나치 테스트에서 표준 인터프리터는 당연히 GIL 때문에 병렬 처리가 안 됐어요. 싱글스레드가 7초 걸렸는데, 4스레드는 25초에서 32초 정도 걸렸거든요. 거의 4배 느린 거죠.

하지만 프리스레딩 인터프리터는 달랐어요! 3.13에서는 표준 인터프리터보다 2.2배 빨랐고, 3.14에서는 무려 3.1배나 빨랐답니다. 이건 정말 큰 발전이에요.

실제 벤치마크를 보면, 프라임 넘버 찾기 멀티스레드 스크립트는 표준 파이썬에서 3.70초 걸렸는데, GIL이 없는 버전에서는 단 0.35초 만에 완료됐어요. 무려 10배나 빨라진 거죠!

20개의 대용량 텍스트 파일을 동시에 읽는 I/O 중심 작업에서도, 표준 버전이 18.77초 걸린 반면 프리스레딩 버전은 5.13초 만에 끝냈어요. 3배 이상 빠른 거죠.

커스텀 멀티스레드 행렬 곱셈 코드도 표준 버전에서 43.95초 걸렸는데, GIL이 없는 버전에서는 4.56초 만에 완료됐답니다. 거의 10배 빠른 결과예요.

버블 정렬 멀티스레드 테스트에서도 비슷했어요. 3.14 프리스레딩이 표준 인터프리터보다 약 2배 빨랐거든요. CPU를 많이 쓰는 멀티스레드 작업이라면 프리스레딩을 고려해볼 만해요.

PyPy, 여전히 속도의 제왕

PyPy는 정말 놀라운 대안이에요. PyPy는 JIT 컴파일러를 내장한 파이썬 인터프리터인데요, 공식 벤치마크에 따르면 CPython보다 평균 4.7배 빠르다고 해요.

2025년 기준으로 PyPy 3.11은 CPython 3.13보다 거의 18배 빠른 성능을 보여줬답니다. 순수 파이썬 애플리케이션의 대부분이 PyPy에서 3배 이상 빠르게 실행될 것으로 예상돼요.

그런데 왜 다들 PyPy를 안 쓸까요? 가장 큰 이유는 C 확장 모듈 호환성 문제예요. NumPy, Pandas 같은 과학 컴퓨팅 라이브러리들이 CPython의 C API에 크게 의존하는데, PyPy에서는 이런 모듈들이 실험적으로만 지원되고 종종 CPython보다 훨씬 느리게 작동한답니다.

또한 PyPy는 최신 파이썬 버전보다 약간 뒤처져 있어요. 현재 PyPy 3.11이 최신인데, CPython은 이미 3.14까지 나왔거든요. 최신 언어 기능을 쓰고 싶은 개발자들에게는 아쉬운 부분이죠.

그래도 순수 파이썬 코드만 사용하고 C 확장에 의존하지 않는 CPU 집약적인 스크립트라면, PyPy는 엄청난 성능 향상을 가져다줄 수 있어요.

메타의 인스타그램, 파이썬 최적화의 선두주자

파이썬 성능 개선에 가장 적극적인 회사 중 하나가 바로 메타예요. 인스타그램은 세계에서 가장 큰 규모의 Django 웹 프레임워크를 운영하고 있거든요.

메타는 2021년 Cinder라는 성능 지향적인 CPython 3.8 포크를 오픈소스로 공개했어요. Cinder는 바이트코드 인라인 캐싱, 코루틴의 열성적 평가, 메서드 단위 JIT 컴파일러, 그리고 타입 어노테이션을 사용한 실험적 바이트코드 컴파일러를 포함하고 있답니다.

Cinder JIT 컴파일러는 거의 모든 파이썬 opcodes를 지원하고, 1.5배에서 4배까지의 속도 향상을 달성할 수 있다고 해요. 인스타그램 프로덕션 환경에서 Cinder는 전체적으로 20-30%의 성능 향상을 가져왔답니다.

비동기 I/O 작업에서 StopIteration 예외를 제거한 변경사항은 단순 벤치마크에서 1.6배 빨랐고, 프로덕션에서도 5%의 성능 향상을 가져왔어요. 이 변경사항은 파이썬 3.10에 업스트림됐답니다.

메타는 파이썬 3.12 릴리스에도 크게 기여했어요. PEP 683(Immortal Objects)을 통해 참조 카운팅에 참여하지 않는 파이썬 객체를 만들 수 있게 됐고, 이는 인스타그램 웹 서버의 포킹 워크로드에서 메모리 사용량을 줄이는 데 도움이 됐답니다.

메타는 또한 eager asyncio tasks 기능을 파이썬 3.12에 추가했어요. 결과가 즉시 사용 가능할 때 태스크를 이벤트 루프에 예약하지 않고 바로 해결할 수 있게 해서 효율성을 높였답니다.

파이썬 소프트웨어 재단의 도전

파이썬의 인기가 높아지는 만큼, 파이썬 소프트웨어 재단(PSF)의 역할도 중요해졌어요. PSF는 PyPI 패키지 저장소를 호스팅하고, 파이썬을 배포하며, 이벤트를 운영하고, CPython 개발자들을 고용하고 있답니다.

하지만 PSF는 자금 부족 문제에 직면해 있어요. PSF의 커뮤니티 커뮤니케이션 매니저인 마리 노르딘은 "PSF는 파이썬으로 수익을 올리는 기업들로부터 더 많은 지원과 자원이 필요하다"고 말했답니다.

2025년 파이썬 개발자 설문조사에 따르면, 개발자의 72%가 업무에 파이썬을 사용하고 있어요. 놀랍게도 응답자의 50%가 2년 미만의 전문 코딩 경험을 가지고 있고, 39%는 2년 이내에 파이썬을 시작했답니다. 파이썬 개발자가 폭발적으로 증가하고 있다는 의미죠.

하지만 버전 업그레이드는 느린 편이에요. 가장 많이 사용되는 버전은 파이썬 3.12(35%)이고, 3.11(21%)이 그 뒤를 따르고 있어요. 최신 버전인 3.13을 사용하는 개발자는 단 15%에 불과하답니다.

개발자들이 업그레이드하지 않는 이유로는 현재 버전이 모든 요구사항을 충족한다(53%), 호환성 문제(27%), 시간 부족(25%)을 꼽았어요.

실무에서는 어떻게 적용할까요?

대부분의 웹 애플리케이션이나 데이터 분석 작업에서는 순수 파이썬 코드보다 NumPy, Pandas 같은 C 기반 라이브러리를 더 많이 써요. 이런 경우에는 버전 업그레이드의 효과가 크지 않을 수 있어요.

실제로 일반적인 웹 요청은 데이터베이스를 기다리는 데 300밀리초를 쓰고, 파이썬 코드 자체는 몇 밀리초만 사용한다고 해요. 데이터 과학이나 AI 분야에서도 성능이 중요한 부분은 거의 항상 고도로 최적화된 C, C++ 또는 포트란 라이브러리(NumPy, PyTorch 등)로 처리되죠.

하지만 계산 집약적인 작업을 순수 파이썬으로 많이 한다면 3.14로 업그레이드하는 게 확실히 도움이 될 거예요. 특히 3.10 이하 버전을 쓰고 계시다면 최소한 3.11 이상으로는 올리시는 걸 강력히 추천드려요. 벤치마크에서 3.11부터 상당한 성능 향상을 보였거든요.

멀티스레드 작업이 많고 CPU를 많이 쓴다면 프리스레딩 인터프리터를 시험해보세요. 물론 아직은 싱글스레드 성능이 5-10% 정도 떨어지니까 신중하게 선택하셔야 해요. 하지만 진정한 병렬 처리가 필요한 경우라면 3배 이상의 성능 향상을 기대할 수 있답니다.

순수 파이썬 코드만 사용하는 자체 포함 CPU 집약적 스크립트라면 PyPy를 고려해보세요. 문제가 되는 C 확장에 의존하지 않는다면, PyPy는 엄청난 성능 향상을 가져다줄 수 있어요.

미래를 향한 파이썬의 여정

파이썬의 미래는 정말 밝아 보여요. CPython 팀은 "Faster CPython" 프로젝트를 통해 지속적으로 성능을 개선하고 있답니다. 이 프로젝트는 마이크로소프트의 자금 지원을 받아 구이도 반 로섬이 이끄는 팀이 진행하고 있어요.

2021년 파이썬 언어 서밋에서 구이도 반 로섬은 마이크로소프트의 지원을 받아 커뮤니티와 함께 성능 개선 작업을 하겠다고 발표했어요. 중요한 건 C API를 깨지 않고 개선한다는 점이에요. NumPy 같은 파이썬 확장 생태계가 계속 작동할 수 있도록 하는 거죠.

PEP 659는 적응형 특수화 인터프리터를 제안했는데요, 이를 통해 25-30%의 파이썬 명령어가 특수화의 혜택을 받을 수 있을 것으로 예상돼요.

파이썬 3.14의 새로운 기능 중 하나는 템플릿 문자열(T-Strings)이에요. f-string과 비슷한 문법을 사용하지만, 단순한 문자열 대신 정적 부분과 보간된 부분을 모두 나타내는 객체를 반환한답니다.

또한 파이썬 3.14부터는 함수, 클래스, 모듈의 어노테이션이 더 이상 즉시 평가되지 않아요. 대신 특수 목적의 annotate 함수에 저장되고 필요할 때만 평가된다고 해요. 이 변경사항은 대부분의 경우 파이썬 어노테이션의 성능과 사용성을 개선하기 위해 설계됐답니다.

파이썬 3.14는 또한 표준 라이브러리에서 격리된 파이썬 인터프리터를 지원해요. 새로운 interpreters 모듈을 통해 단일 프로세스 내에서 여러 인터프리터를 사용할 수 있게 됐답니다.

2025년 파이썬 언어 서밋에서는 거의 3분의 1의 발표가 동시성과 스레딩에 관한 것이었어요. 이는 앞으로 무엇이 올지에 대한 미래 지향적 지표랍니다.

파이썬의 GUI와 모바일 지원도 상승세예요. 러셀 키스-매기가 2025년 파이썬 언어 서밋에서 iOS와 Android에서 파이썬을 사용할 수 있도록 하는 작업을 발표했답니다.

마무리하며

파이썬 3.14는 확실히 역대 CPython 중에서 가장 빠른 버전이에요. 특히 3.11 이후로 계속된 성능 개선 노력이 결실을 맺고 있는 것 같아서 기쁘네요.

JIT 컴파일러는 아직 성숙 단계가 아니지만, 프리스레딩은 멀티스레드 환경에서 확실한 가능성을 보여줬어요. 앞으로가 더 기대되는 부분이죠.

그리고 PyPy는 정말 놀라워요. 만약 호환성 문제만 없다면 진지하게 고려해볼 만한 선택지인 것 같아요.

파이썬은 여전히 개발자 생산성과 가독성에서 최고의 언어예요. 그리고 이제는 성능도 점점 나아지고 있답니다. 2025년 현재, 파이썬은 인공지능과 데이터 과학을 주도하고 있고, 웹 개발과 자동화 분야에서도 여전히 강세를 보이고 있어요.

여러분의 프로젝트에 가장 적합한 파이썬 버전을 선택하고, 필요하다면 과감하게 업그레이드해보세요. 파이썬의 미래는 우리가 만들어가는 거니까요!

여러분도 파이썬 3.14를 테스트해보셨나요? 어떤 결과가 나왔는지 궁금하네요!

 

300x250
반응형