7P by neo 2023-10-03 | favorite | 댓글 3개
  • 더 유연한 f-string 파싱 (PEP 701)
  • Python 코드에서 버퍼 프로토콜 지원 (PEP 688)
  • 새로운 디버깅/프로파일링 API (PEP 669)
  • Per-Interpreter GIL 지원으로 각 Sub-interpreter 당 별도의 GIL이 생성됨 (PEP 684)
  • 오류 메시지가 개선되었으며, 오타로 인해 발생할 수 있는 더 많은 예외가 사용자에게 제안됨
  • Linux perf 프로파일러를 지원하여 Trace에서 Python 함수 이름이 포함됨
  • 크고 작은 성능 개선으로 전체적으로 5%의 성능 향상
  • 일반 클래스를 위한 새로운 타입 주석 구문 (PEP 695)과 메소드를 위한 새로운 오버라이드 데코레이터 (PEP 698)가 도입
  • 유니코드 객체의 C 구현에 대한 wstr 및 wstr_length 멤버, unittest 모듈의 특정 메소드와 클래스, smtpd 및 distutils 모듈과 같은 사용 중단된 기능이 제거됨
  • 문자열에서 잘못된 백슬래시 이스케이프 시퀀스는 이제 DeprecationWarning 대신 SyntaxWarning으로 경고함
  • 성능 향상을 위한 준비로 정수의 내부 표현이 변경됨

Per-Interpreter GIL은 흥미롭네요.

Hacker News 의견
  • Python 3.12, kwargs 유형 선언을 위한 새로운 문법 도입, 라이브러리에 필요한 데이터 이해도 향상
  • 새 버전에는 iterable을 청크로 분할하는 itertools.batched 포함, 환영받는 추가 기능
  • Python 3.12, 프로파일러, 디버거 및 기타 도구가 CPython 이벤트를 모니터링하기 위한 새로운 API 도입, 거의 제로 오버헤드 디버거 및 커버리지 도구 지원 가능
  • Python 3.12의 새로운 기능, 더 유연한 f-string 파싱, Python 코드에서 버퍼 프로토콜 지원, 새로운 디버깅/프로파일링 API, 별도의 Global Interpreter Locks를 가진 고립된 서브 인터프리터 지원 포함
  • 업데이트는 오류 메시지 개선, Linux perf 프로파일러가 추적에서 Python 함수 이름을 보고하는 지원, 많은 크고 작은 성능 향상도 가져옴
  • 제네릭 클래스를 위한 새로운 타입 주석 문법과 메소드를 위한 새로운 오버라이드 데코레이터도 업데이트의 일부
  • 사용 중단된 기능 제거, smtpddistutils 모듈 포함, 성능 향상을 위한 준비로 정수의 내부 표현 변경
  • 사용자들은 오류 메시지 개선에 대한 감사를 표현하고, 디버깅을 더 쉽게하기 위한 실제 리치 텍스트 도입을 원함
  • 별도의 Global Interpreter Locks를 가진 고립된 서브 인터프리터 지원은 어떤 형태의 동시성 제공을 위한 중요한 단계로 간주됨
  • Python 3.12, 계산 집약적인 작업에서 눈에 띄는 성능 향상을 보여줌
  • 사용자들은 CPython 이벤트 모니터링을 위한 새로운 API인 PEP 669를 최적으로 활용하는 방법에 관심이 있음