LLMs e os Limites da Otimização Automática de Código

2025-01-07
LLMs e os Limites da Otimização Automática de Código

David Andersen experimentou usar modelos de linguagem grandes (LLMs) para otimizar um código que encontra a diferença entre os menores e maiores números cujos dígitos somam 30 em uma lista de um milhão de inteiros aleatórios. O código inicial em Python e Rust era lento. Embora o LLM tenha melhorado partes, como a função de soma de dígitos, ele perdeu uma otimização crucial: verificar se um número é relevante *antes* do cálculo caro da soma de dígitos. A intervenção manual, envolvendo um gerador de números aleatórios mais rápido, paralelização e pré-processamento, acelerou o código Rust em um fator de 55. Isso destaca as limitações dos LLMs na otimização de código, particularmente para problemas complexos que exigem profundo entendimento algorítmico e estratégias de paralelização. A engenhosidade humana permanece crucial.

Desenvolvimento Desempenho