IBM Bob: Como Otimizar Código Python e Obter Ganhos Reais de Performance

Nem sempre o melhor código é possível ser escrito. Escrever código que funciona bem — rápido, limpo e fácil de manter — dentro do prazo de um projeto, normalmente não é uma realidade.

Neste artigo vou mostrar, na prática, como utilizei o IBM Bob para analisar um script Python intencionalmente ineficiente e transformá-lo em uma versão muito mais performática, utilizando um caso simples, mas extremamente comum: conversão de arquivos CSV para JSON.

O Cenário

O objetivo do projeto era relativamente simples:

  • Ler um arquivo CSV contendo informações de pessoas.
  • Normalizar os dados.
  • Gerar um arquivo JSON de saída.

A lógica de negócio é bastante simples. O diferencial está na implementação.

Para este experimento foram criadas duas versões:

  • main-low.py – implementação propositalmente ineficiente.
  • main-high.py – versão otimizada com auxílio do IBM Bob.

Todo o código-fonte, exemplos e arquivos utilizados neste artigo estão disponíveis no GitHub: https://github.com/ebasso/ibm-bob-labs/tree/main/blog-posts/python-csv2json-optimization-20260708

Resultados Obtidos

Ambos os scripts foram executados no mesmo ambiente e utilizando exatamente o mesmo conjunto de dados.

Na tabela a seguir segue o comparativo antes e depois.

AspectoVersão OriginalVersão Otimizada
Tempo de execução41,8 ms0,93 ms
NormalizaçãoMúltiplos laçosOperações nativas
Leitura CSVProcessamento intermediárioLeitura direta
Serialização JSONOperações redundantesProcessamento único
Escrita de arquivoCaracteres individuaisEscrita otimizada
Pausas artificiaisSimNão
Tamanho do código~110 linhas~50 linhas

O Prompt para o IBM Bob

Com o script em mãos, basta colar o código no IBM Bob e usar o seguinte prompt:

Você é um engenheiro Python sênior especialista em performance. 
Analise o script abaixo (main-low.py) e gere uma versão otimizada chamada main-high.py. 
Requisitos para a versão otimizada: 
1) Manter exatamente a mesma interface de linha de comando: python3 main-high.py entrada.csv saida.json 
2) Manter o mesmo formato de saída JSON (array de objetos com chaves e valores em letras minúsculas, sem espaços extras). 
3) colocar o tempo de inicio e fim e o tempo de execuçã no arquivo main-high.py.
4) criar um prompt para que eu faça o rebuild dessa primeira pasta mas com alta performance. 

Durante a análise, o Bob conseguiu:

  • Identificar gargalos de performance.
  • Detectar concatenações ineficientes de strings.
  • Encontrar operações desnecessárias de serialização JSON.
  • Simplificar a leitura e escrita de arquivos.
  • Aplicar estruturas mais idiomáticas da linguagem Python.
  • Tornar o código mais legível e mais fácil de manter.

O interessante é que o Bob não apenas gerou uma nova versão do programa, mas também justificou tecnicamente cada alteração realizada.

Se o seu custo de Cloud já está ultrapassando US$ 10.000 ou mais de US$ 100.000 por mês, vale a pena experimentar esse tipo de análise assistida pelo IBM Bob.

Revisar scripts legados, aplicações com problemas de performance e identificar oportunidades de modernização para arquiteturas serverless pode revelar gargalos e desperdícios que passam despercebidos no dia a dia, permitindo reduzir consumo de CPU, memória e tempo de execução, com impacto direto nos custos operacionais da infraestrutura.

Leia também:

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.