현대 CPU가 바이트코드 인터프리터 루프를 효율적으로 예측하는 방법

2025-07-05

새로운 Python 인터프리터의 성능을 조사하던 중 저자는 현대 CPU가 바이트코드 인터프리터 루프 내의 간접 점프를 효율적으로 예측할 수 있다는 것을 발견했습니다. 이는 TAGE 및 ITTAGE와 같은 고급 분기 예측기 덕분입니다. 이러한 예측기는 프로그램 카운터(PC)와 해당 이력을 과거 실행 동작에 매핑하고 기하급수적으로 증가하는 이력 길이의 여러 테이블을 사용하여 동적으로 최적의 예측을 선택합니다. 저자는 TAGE의 개념을 적용하여 커버리지 기반 퍼징과 프로그램 상태 탐색에 적용하는 것을 고려하고, 이를 통해 인터프리터 등의 프로그램 동작을 더 잘 이해하고 탐색할 수 있는 가능성을 시사합니다.