- O Global Interpreter Lock (GIL) do Python tem sido um dos principais obstáculos para melhorar o desempenho de programas que usam várias threads.
- Em outubro de 2021, Sam Gross apresentou uma versão de prova de conceito do Python sem GIL, que inicialmente recebeu uma reação entusiasmada, mas por mais de um ano não houve grande avanço.
- O Python Steering Council agora anunciou disposição para integrar o recurso no-GIL.
- O projeto Faster CPython, iniciado em meados de 2021, está focado em melhorar o desempenho single-thread do interpretador Python.
- Na PyCon deste ano, dois membros da equipe do Faster CPython apresentaram as estratégias usadas para melhorar o desempenho do interpretador.
- Em janeiro de 2023, o desenvolvedor principal Łukasz Langa publicou a primeira versão da PEP 703 ("Uso opcional do Global Interpreter Lock no CPython"), escrita por Gross.
- A comunidade Python quer evitar uma transição confusa como a do Python 2 para o 3. Qualquer mudança para remover o GIL precisa ser compatível com código que não foi preparado para isso.
- Em 14 de junho, a equipe do Faster CPython aumentou a pressão pedindo uma decisão sobre o recurso no-GIL.
- Em 28 de julho, o membro do conselho Thomas Wouters anunciou que o conselho havia aceitado a PEP 703, embora os detalhes dessa aceitação ainda estejam sendo ajustados.
- O plano é introduzir uma versão do interpretador com no-GIL para identificar todos os componentes ausentes, resolvê-los e, depois disso, fazer do no-GIL o padrão e a versão final do Python.
- A transição para uma versão no-GIL deve levar cerca de 5 anos, com a promessa de não repetir os erros do passado.
- Este artigo discute como acelerar loops
for/foreach usando programação paralela do .NET quando se tem dados "embaraçosamente paralelizáveis".
- O texto também discute a viabilidade de longo prazo de manter o desempenho single-thread do Python, com alguns argumentando que o overhead inevitável e o aumento da complexidade acabarão reduzindo o desempenho.
- O artigo reflete sobre a transição do Python 2 para o Python 3, em que não havia compatibilidade entre as duas versões.
- O autor argumenta que o impacto da incompatibilidade do Python 3 com o Python 2 era previsível para algumas pessoas, ao contrário da percepção popular, e compartilha um link para um post de blog de 2007.
- O autor enfatiza a importância das lições aprendidas na transição do Python 2 para o Python 3, destacando isso para evitar problemas semelhantes no futuro.
- O texto conclui reconhecendo a visão de quem previu os desafios da transição do Python 2 para o Python 3.
1 comentários
Comentários do Hacker News