30.09.2026 · Signal Titans Editorial
Snapshots de Memória no CPython São Discutidos no Python Language Summit 2026
Hood Chatham proposed memory snapshots for CPython at the Python Language Summit 2026, targeting faster startup times for edge and WebAssembly runtimes.

No Python Language Summit 2026, Hood Chatham apresentou uma proposta para introduzir snapshots de memória no CPython, visando oferecer um caminho alternativo de inicialização que evita sequências repetidas ao restaurar um snapshot salvo da memória do processo Python.
Ganhos de Desempenho e Desafios de Segurança
De acordo com testes no Pyodide citados na apresentação, carregar um interpretador a partir de um snapshot de memória fez a execução de um script básico de "hello world" ser cerca de quatro vezes mais rápida em comparação com a inicialização a frio. No entanto, a abordagem introduz obstáculos críticos de segurança, especificamente relacionados à randomização da semente de hash (hash seed). O Python introduziu salts randomizados no Python 3.3 para evitar ataques de negação de serviço via colisões de hash, uma estratégia de mitigação compartilhada por diversas linguagens. Restaurar um snapshot de memória pré-inicializado congelaria inadvertidamente esses valores randomizados, tornando-os determinísticos e compartilhados entre execuções.
Soluções Propostas e Abordagens Alternativas
Para reintroduzir a aleatoriedade em tempo de execução com segurança sob o modelo de snapshots, Chatham sugeriu adicionar uma fase de inicialização explícita ao modelo da linguagem Python, apontando ambientes como RPython e SPy como referências anteriores. Durante a discussão, Stefan Behnel questionou se callbacks de reinicialização semelhantes ao módulo atexit existente seriam suficientes. Abordando ideias alternativas de desempenho, Peter Bierma perguntou se acelerar a inicialização geral poderia tornar os snapshots desnecessários, embora Chatham tenha notado que otimizar completamente a inicialização do interpretador é significativamente mais complexo do que implementar o mecanismo de snapshots.
Computação em Borda e Contexto de Dependências
A exploração de snapshots de memória é motivada em grande parte por casos de uso envolvendo WebAssembly e ambientes de computação em borda (edge compute), que frequentemente carecem de acesso ao sistema de arquivos em tempo de execução. Thomas Wouters perguntou se os lazy imports da PEP 810, previstos para o Python 3.15, poderiam mitigar os custos de inicialização lenta. Chatham alertou que os lazy imports poderiam prejudicar seu caso de uso específico, pois a análise diferida de módulos impediria que as importações fossem capturadas no estado estático do snapshot. Contextos técnicos adicionais discutidos durante o evento incluíram experimentos passados da Alibaba com dumps de memória e tabelas de metadados, além de experiências da equipe do Faster CPython com o congelamento profundo (deep-freezing) de módulos.
Ilustração editorial gerada por IA; não é uma fotografia documental.
Fonte: Memory Snapshots for CPython (Python Language Summit 2026)