O driver de display da AMD no Linux (AMDGPU) ganhou uma otimização de performance daquelas que fazem a casa ficar mais arrumada por dentro. Um desenvolvedor trocou dois pedacinhos de código “artesanais” — um bubble sort e uma rotina lenta de remoção de duplicados — por alternativas modernas e bem testadas do kernel. Na prática, menos desperdício de CPU e um código que envelhece melhor.
De O(N²) para O(N log N): ordenação mais esperta
Antes, a lista era ordenada com bubble sort, um método simples, porém custoso (O(N²), ou seja, o trabalho cresce “em quadrado” conforme a lista aumenta). Agora, entra em cena o helper sort()
do kernel, que usa um algoritmo muito mais eficiente (O(N log N)). Em português claro: para listas maiores, ele escala melhor, evita retrabalho e reduz a chance de bugs em código feito “em casa”.

De O(N²) para O(N): adeus duplicados, sem drama
A limpeza de itens repetidos também era quadrática (O(N²)) e virou linear (O(N)) com a técnica de “ponteiro rápido/lento”. A lista é percorrida uma única vez, mantendo apenas os valores únicos — simples, direto e rápido. O patch ainda traz testes rápidos para mostrar que o resultado está correto.
O que isso muda para você?
Não espere “10 FPS a mais” por causa disso. O ganho está na eficiência interna: menos sobrecarga em rotinas do driver (por exemplo, na lógica ligada a gerenciamento de energia do display), menos complexidade, mais confiança no comportamento. É o tipo de otimização que não brilha na vitrine, mas mantém o projeto saudável e pronto para crescer.
Quando isso deve chegar?
A série, assinada por Kuan-Wei Chiu, já está em v2 e recebeu Reviewed-by de engenheiro da AMD — um bom sinal no caminho do upstream. Considerando o calendário atual (com o 6.17 já perto do fim), é razoável esperar a novidade na janela seguinte, provavelmente no Linux 6.18.
Em resumo: trocar O(N²) por O(N log N) e O(N) é menos glamour e mais maturidade — e o Linux AMDGPU driver agradece.