2026-10-16 –, Principal
Explore o Python sem GIL! Entenda porque o fim do "anjo da guarda" exige atenção a race conditions e aprenda a proteger seu código para paralelismo real, nem mesmo o asyncio está seguro.
Com o modo free-threaded (PEP 703), o Python finalmente abraçou o paralelismo real, permitindo que as aplicações utilizem múltiplos núcleos de CPU simultaneamente. Mas essa liberdade tem um preço: o antigo Global Interpreter Lock (GIL), muitas vezes visto como o vilão da performance, era também o "anjo da guarda" que protegia nossos códigos contra corrupção de memória e race conditions implícitas.
Nesta palestra, vou desconstruir o mito de que "remover o GIL deixa tudo magicamente mais rápido e seguro". Através de demonstrações de código (talvez live coding), mostrarei como estruturas de dados tradicionais podem quebrar em ambiente multi-core e por que até mesmo aplicações modernas baseadas em asyncio podem cair em armadilhas quando interagem com thread pools. A ideia é sair desta apresentação com um mapa claro de como auditar seu código atual e arrumar se necessário para extrair o máximo de performance do novo ecossistema Python, sem sacrificar a estabilidade.
Para aproveitar ao máximo esta atividade, é recomendável que o participante tenha:
- Domínio Intermediário de Python: Familiaridade com a sintaxe, tipos de dados e funções.
- Conceitos de Concorrência: Noções básicas sobre a diferença entre Threads e Processos.
- Noções de Escopo: Compreender como variáveis globais e estados compartilhados funcionam dentro de um módulo.
Quem participar da palestra pode esperar sair preparado para a "nova era" do Python:
- PEP 703: Entender o que muda no interpretador com a remoção do GIL e o que é o modo free-threaded.
- Identificação de Vulnerabilidades: Como detectar "bugs fantasmas" e race conditions que antes eram mascarados pelo GIL.
- Segurança em Asyncio: Como blindar aplicações assíncronas que fazem uso de pools de threads para tarefas pesadas.
- Primitivos de Sincronização: Quando e como aplicar Locks, Semaphores e Queues para garantir a integridade dos dados sem destruir a performance.
- Estratégia de Migração: Uma tentativa de roteiro de como auditar dependências e testar códigos existentes no Python 3.13+ com o modo free-thread ativado.
Pablo Aguilar é um engenheiro de software apaixonado, especializado em desenvolvimento backend. Atualmente, como Engenheiro Sênior de Backend, colaborador de projetos de código aberto e palestrante.