Python 3.15 정식 출시, 지연 임포트·frozendict 도입

요약

Python 3.15.0이 정식 출시됐다.
명시적 지연 임포트(lazy import), 내장 frozendict 타입, UTF-8 기본 인코딩 등 언어와 실행 환경 전반에 걸친 변화가 담겼다.
당초 10월 1일 출시 예정이었으나 지연 임포트 관련 막판 버그로 세 번째 릴리스 후보(RC3)를 거치면서 약 1주 늦춰졌다.
실험적 JIT 컴파일러의 성능도 한층 개선됐다.

주요 내용

  • PEP 810: lazy import 구문으로 모듈을 실제로 사용하는 시점에 불러와 시작 시간을 줄일 수 있다.
  • PEP 814: 변경할 수 없는 딕셔너리 frozendict가 내장 타입으로 추가됐고, PEP 661에 따라 sentinel 내장 타입도 생겼다.
  • PEP 686: UTF-8이 기본 인코딩이 돼, 플랫폼마다 달랐던 기본 인코딩으로 인한 문제가 줄어든다.
  • PEP 799: 프로파일링 도구를 전용 패키지로 정리하고 샘플링 프로파일러 Tachyon을 추가했다.
  • 실험적 JIT은 x86-64 Linux에서 표준 인터프리터보다 기하평균 약 78%, AArch64 macOS에서 tail-calling 인터프리터보다 약 1112% 빠르다고 소개됐다.
  • 타입 시스템에는 TypedDict의 추가 항목 타입 지정(PEP 728)과 TypeForm(PEP 747)이 들어왔고, 프레임 포인터가 기본 활성화됐다(PEP 831).
  • macOS 공식 설치본은 free-threading 빌드를 기본으로 함께 설치하며, macOS 27.0에서 IDLE 등 tkinter 앱이 대화상자를 열 때 멈출 수 있다는 알려진 문제가 안내됐다.

왜 중요한가

UTF-8 기본화는 Windows 등에서 파일 입출력 동작을 바꿀 수 있어, 인코딩을 명시하지 않은 기존 코드는 업그레이드 전에 점검이 필요하다. 지연 임포트는 CLI 도구나 서버리스 함수처럼 시작 시간이 중요한 애플리케이션에서 바로 체감할 수 있는 개선이 될 수 있다.

Python InsiderPython 3.15.0 (final) is here! | Python InsiderA brand new Python here for you to enjoy!

AI와 함께 작성한 글이에요.

0

댓글 0

아직 댓글이 없어요. 첫 댓글을 남겨보세요.

glegam은 서비스 개선과 이용 분석을 위해 쿠키를 사용해요. 자세한 내용은 개인정보처리방침을 확인하세요.