CPython 성능 향상: 예상치 못한 전개와 LLVM 회귀에 대한 이야기
2025-03-10
최근 CPython 통합을 통해 새로운 바이트코드 인터프리터 구현이 도입되었고, 초기에는 다양한 벤치마크에서 10~15%라는 인상적인 성능 향상을 보였습니다. 그러나 이 향상은 LLVM 19의 회귀를 무의식적으로 우회한 결과인 것으로 밝혀졌습니다. 더 적절한 기준(GCC 또는 조정된 LLVM 19 등)과 비교하면 실제 성능 향상은 고작 1~5%로 감소합니다. 수 주간의 컴파일, 벤치마크 테스트, 역어셈블리 결과, LLVM 19의 테일 콜 복제에 대한 제한이 이 회귀의 원인임이 드러났습니다. 테일 콜 인터프리터 자체는 귀중한 개선이지만, 이 사건은 기준선 선택의 어려움이나 컴파일러 최적화의 복잡성에 대한 이해 부족 등 벤치마킹, 성능 엔지니어링, 소프트웨어 엔지니어링의 과제를 부각합니다.
개발