Python에 copy-and-patch JIT가 추가되는 PR이 열렸습니다.( https://github.com/python/cpython/pull/113465 ) 이 PR은 CPython 핵심 개발자인 Brandt Bucher가 올렸는데 현재 리뷰도 거의 끝나고 큰 문제가 없는거 같아서 조만간 머지될 것으로 보입니다.


이 copy-and-patch JIT이 무엇인지를 설명하는 글인데 JIT에 대한 이해도에도 도움이 될만한 글입니다.


인터프리터는 실행할 때마다 opcode라 부르는 바이트 코드 이름을 if 문으로 비교하기 때문에 실행할 때마다 약간의 오버헤드가 발생합니다. 이 오버헤드를 없애기 위해 시퀀스로 코드를 생성하는 것이 JIT인데 이번 PR에 올라온 것은 copy-and-patch PR 입니다.


인터프리터 루프는 해석하고 실행하는 두가지 과정으로 진행되는데 copy-and-patch JIT은 각 명령의 인스트럭션을 복사한 뒤(copy) 바이트 코드의 인수를 채우는(patch) 방식으로 진행됩니다. Python에서 copy-and-patch JIT을 선택한 이유는 일반 Python 사용자가 이를 실행할 일은 없고 CPython을 빌드하고 패키징하는 CI 머신에서 LLVM JIT 도구로만 설치하면 되기 때문입니다.


초기 벤치마크에 따르면 2~9% 정도의 성능 향상이 있었는데 높은 성능은 아니지만 앞으로 이어질 최적화 작업의 첫 단계로 이해하면 된다고 합니다.


https://tonybaloney.github.io/posts/python-gets-a-jit.html

Python 3.13 gets a JIT

Tonybaloney

Python 3.13 gets a JIT

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 1월 27일 오전 3:42

댓글 0

    함께 읽은 게시물

    비개발자도 Cursor AI로 결제 가능한 웹 서비스 만들기 🚀

    6

    ... 더 보기

    비개발자도 Cursor AI로 결제 가능한 웹 서비스 만들기 🚀 (6차. 25.06.21, 25.06.28) - Learning by Doing

    Latpeed

    비개발자도 Cursor AI로 결제 가능한 웹 서비스 만들기 🚀 (6차. 25.06.21, 25.06.28) - Learning by Doing

    하나부터 열까지 리더가 상세히 설명해 주기를 바라는 구성원이 있습니다. 반대로 큰 얼개만 듣고 나머지는 자율적으로 하고 싶어 하는 경우도 있죠. 회식에 참여하는 것을 너무나 힘겨워 하는 구성원이 있는 반면, 동료들과 함께 시간을 보내며 가까워지는 것을 원하는 구성원도 있습니다.

    ... 더 보기

    다양한 구성원을 하나로 모으고 싶다면 - 리더가 가져야 할 모순

    네이버 블로그 | HSG 휴먼솔루션그룹

    다양한 구성원을 하나로 모으고 싶다면 - 리더가 가져야 할 모순

     • 

    저장 5 • 조회 669


    이력서에 쓰는 경험

    

    ... 더 보기

    피클은 지난달 하루 200명씩 신규 유입, 불과 한 달 만에 사용자 수 5배라는 폭발적 성장세를 보이고 있다. 전체 이용자 중 70%가 미국, 20%가 유럽에 분포하며, 평균 주 5회 이상 회의·온라인 모임에 피클 아바타를 활용하고 있다.

    ... 더 보기

    AI 아바타 스타트업 ‘피클’, 시드 투자 60억원 유치

    조선비즈

    AI 아바타 스타트업 ‘피클’, 시드 투자 60억원 유치

    조회 205


    서버엔지니어의 시대적 고민

    ... 더 보기

    "누가 왜 그렇게 하자고 했어요?"

    P

    ... 더 보기

    누가 왜 그렇게 하자고 했어요?

    Brunch Story

    누가 왜 그렇게 하자고 했어요?