7 pontos por GN⁺ 2023-10-03 | 3 comentários | Compartilhar no WhatsApp
  • Parsing de f-strings mais flexível (PEP 701)
  • Suporte ao protocolo de buffer em código Python (PEP 688)
  • Nova API de depuração/profiling (PEP 669)
  • Suporte a GIL por interpretador, criando uma GIL separada para cada subinterpretador (PEP 684)
  • As mensagens de erro foram melhoradas, e mais exceções que podem ser causadas por erros de digitação agora são sugeridas ao usuário
  • Suporte ao profiler perf do Linux, incluindo nomes de funções Python nos traces
  • Melhorias grandes e pequenas de desempenho, resultando em um ganho geral de 5% de performance
  • Introdução de uma nova sintaxe de anotação de tipos para classes genéricas (PEP 695) e de um novo decorador override para métodos (PEP 698)
  • Foram removidos recursos obsoletos, como os membros wstr e wstr_length da implementação C de objetos Unicode, certos métodos e classes do módulo unittest, e os módulos smtpd e distutils
  • Sequências de escape com barra invertida inválidas em strings agora geram SyntaxWarning em vez de DeprecationWarning
  • A representação interna de inteiros foi alterada em preparação para melhorias de desempenho

3 comentários

 
cosine20 2023-10-04

O GIL por interpretador é interessante.

 
GN⁺ 2023-10-03
Comentários do Hacker News
  • Python 3.12 introduz uma nova sintaxe para declaração de tipos de kwargs, melhorando a compreensão dos dados necessários para bibliotecas
  • A nova versão inclui itertools.batched para dividir iteráveis em chunks, uma adição bem-vinda
  • Python 3.12 introduz uma nova API para profilers, debuggers e outras ferramentas monitorarem eventos do CPython, possibilitando debuggers e ferramentas de cobertura com overhead quase zero
  • Os novos recursos do Python 3.12 incluem parsing mais flexível de f-strings, suporte ao protocolo de buffer em código Python, uma nova API de depuração/profiling e suporte a subinterpretadores isolados com Global Interpreter Locks separados
  • A atualização também traz melhorias nas mensagens de erro, suporte para o profiler Linux perf reportar nomes de funções Python nos rastros e muitos ganhos de desempenho, grandes e pequenos
  • Uma nova sintaxe de anotações de tipo para classes genéricas e um novo decorator de override para métodos também fazem parte da atualização
  • Recursos descontinuados foram removidos, incluindo os módulos smtpd e distutils, e a representação interna de inteiros foi alterada em preparação para melhorias de desempenho
  • Usuários expressam agradecimento pelas melhorias nas mensagens de erro e querem a introdução de rich text de verdade para facilitar a depuração
  • O suporte a subinterpretadores isolados com Global Interpreter Locks separados é visto como um passo importante para oferecer alguma forma de concorrência
  • Python 3.12 mostra ganhos de desempenho perceptíveis em tarefas intensivas em computação
  • Usuários têm interesse em como aproveitar de forma ideal a PEP 669, a nova API para monitoramento de eventos do CPython