python-performance-optimization
Ajuda seu agente a encontrar e corrigir partes lentas do código Python. Isso torna os programas mais rápidos e eficientes.
O que ela faz
Esta ferramenta ajuda a encontrar e corrigir partes lentas do seu código Python. Ela analisa onde o programa gasta mais tempo e memória, sugerindo maneiras de torná-lo mais rápido e eficiente.
Quando usar
- ✓Seu programa Python está demorando muito para rodar.
- ✓Você suspeita que seu programa está usando muita memória.
- ✓Você quer deixar seu código mais rápido antes de colocá-lo para funcionar de verdade.
Exemplo do que pedir para a IA
“Meu código Python está muito lento, pode me ajudar a encontrar o problema?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta analisa seu código para ver quais partes levam mais tempo para executar ou consomem mais memória. Depois, ela sugere mudanças, como usar estruturas de dados mais eficientes ou algoritmos mais rápidos.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add wshobson/agents --skill python-performance-optimizationOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/wshobson/agents/main/plugins/python-development/skills/python-performance-optimization/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Otimização de Desempenho em Python
Guia completo para perfilagem, análise e otimização de código Python para melhor desempenho, incluindo perfilagem de CPU, otimização de memória e melhores práticas de implementação.
Quando Usar Esta Habilidade
- Identificar gargalos de desempenho em aplicações Python
- Reduzir a latência e os tempos de resposta das aplicações
- Otimizar operações intensivas em CPU
- Reduzir o consumo de memória e vazamentos de memória
- Melhorar o desempenho de consultas a banco de dados
- Otimizar operações de I/O
- Acelerar pipelines de processamento de dados
- Implementar algoritmos de alto desempenho
- Perfilagem de aplicações em produção
Conceitos Principais
1. Tipos de Perfilagem
- Perfilagem de CPU: Identificar funções que consomem tempo
- Perfilagem de Memória: Rastrear alocação de memória e vazamentos
- Perfilagem por Linha: Perfilagem em granularidade linha a linha
- Grafo de Chamadas: Visualizar relacionamentos de chamadas de função
2. Métricas de Desempenho
- Tempo de Execução: Quanto tempo as operações levam
- Uso de Memória: Consumo de pico e médio de memória
- Utilização da CPU: Padrões de uso do processador
- Espera de I/O: Tempo gasto em operações de I/O
3. Estratégias de Otimização
- Algorítmica: Melhores algoritmos e estruturas de dados
- Implementação: Padrões de código mais eficientes
- Paralelização: Multithreading/multiprocessamento
- Cache: Evitar computação redundante
- Extensões Nativas: C/Rust para caminhos críticos
Início Rápido
Cronometragem Básica
import time
def measure_time():
"""Simple timing measurement."""
start = time.time()
# Your code here
result = sum(range(1000000))
elapsed = time.time() - start
print(f"Execution time: {elapsed:.4f} seconds")
return result
# Better: use timeit for accurate measurements
import timeit
execution_time = timeit.timeit(
"sum(range(1000000))",
number=100
)
print(f"Average time: {execution_time/100:.6f} seconds")
Padrões Detalhados e Exemplos Práticos
A documentação detalhada de padrões está em references/details.md. Leia este arquivo quando a navegação de nível superior for insuficiente.
Melhores Práticas
- Perfil antes de otimizar - Meça para encontrar gargalos reais
- Foque em caminhos quentes - Otimize o código que é executado com mais frequência
- Use estruturas de dados apropriadas - Dicionário para buscas, conjunto para pertinência
- Evite otimização prematura - Clareza primeiro, depois otimize
- Use funções embutidas - Elas são implementadas em C
- Cacheie computações caras - Use
lru_cache - Agrupe operações de I/O - Reduza chamadas de sistema
- Use geradores para grandes conjuntos de dados
- Considere NumPy para operações numéricas
- Profile o código de produção - Use
py-spypara sistemas em tempo real
Armadilhas Comuns
- Otimizar sem perfilagem
- Usar variáveis globais desnecessariamente
- Não usar estruturas de dados apropriadas
- Criar cópias desnecessárias de dados
- Não usar pooling de conexões para bancos de dados
- Ignorar a complexidade algorítmica
- Otimizar demais caminhos de código raros
- Não considerar o uso de memória
Perguntas frequentes
O que é 'profiling'?
É como tirar uma foto do seu programa em execução para ver onde ele está gastando tempo e recursos.
Por que otimizar o código?
Para que o programa rode mais rápido, use menos memória e seja mais eficiente, economizando recursos e melhorando a experiência do usuário.
Preciso saber muito de programação para usar?
Não, a ferramenta é projetada para ajudar mesmo quem não é especialista, focando em identificar os problemas e sugerir soluções.
Detalhes
Descrição original do autor
Profile and optimize Python code using cProfile, memory profilers, and performance best practices. Use when debugging slow Python code, optimizing bottlenecks, or improving application performance.
repo: wshobson/agents
Popularidade
- Estrelas no GitHub
- 41 mil
- Posição no ranking
- #4931
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
screen-reader-testing
Faz seu agente testar sites usando leitores de tela para garantir que sejam acessíveis.
wshobson/agents
wcag-audit-patterns
Ajuda seu agente a auditar sites para acessibilidade e corrigir problemas de acordo com as diretrizes WCAG.
wshobson/agents
multi-reviewer-patterns
Faz seu agente coordenar revisões de código paralelas, deduplicando achados e consolidando relatórios.
wshobson/agents
parallel-debugging
Permite ao agente depurar problemas complexos com investigações paralelas e análise de causa raiz.
wshobson/agents
Skills parecidas
benchmark-optimization-loop
Faz seu agente melhorar a velocidade de algo de forma medida. Ele testa várias versões e escolhe a mais rápida que ainda funciona corretamente.
affaan-m/ECC
change-impact
Ajuda seu agente a analisar o impacto de mudanças no código antes de fazê-las. Ele compara o planejado com o real depois, cobrindo caminhos, dados, testes e documentação. É útil para mudanças arriscadas ou que afetam várias partes do sistema.
affaan-m/ECC
click-path-audit
Faz seu agente rastrear todos os botões e interações do usuário para achar bugs. Ele encontra problemas onde funções parecem funcionar sozinhas, mas falham juntas. Útil quando bugs persistem mesmo após depuração.
affaan-m/ECC