Pular para o conteúdo
Skillpedia
Código em geral41 mil · #4931

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

https://github.com/wshobson/agents/blob/main/plugins/python-development/skills/python-performance-optimization/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/wshobson/agents/blob/main/plugins/python-development/skills/python-performance-optimization/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-optimization

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/wshobson/agents/main/plugins/python-development/skills/python-performance-optimization/SKILL.md -o SKILL.md
Conteú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

  1. Perfil antes de otimizar - Meça para encontrar gargalos reais
  2. Foque em caminhos quentes - Otimize o código que é executado com mais frequência
  3. Use estruturas de dados apropriadas - Dicionário para buscas, conjunto para pertinência
  4. Evite otimização prematura - Clareza primeiro, depois otimize
  5. Use funções embutidas - Elas são implementadas em C
  6. Cacheie computações caras - Use lru_cache
  7. Agrupe operações de I/O - Reduza chamadas de sistema
  8. Use geradores para grandes conjuntos de dados
  9. Considere NumPy para operações numéricas
  10. Profile o código de produção - Use py-spy para 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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas