Contagem de palavras 494x mais rápida com SIMD e threads
Este artigo detalha a jornada do autor na otimização de um programa de contagem de palavras, alcançando uma notável aceleração de 494x. Começando com uma implementação Python ingênua (89,6 segundos), o autor melhorou progressivamente o desempenho usando o módulo `re` do CPython (13,7 segundos), um loop escalar em C (1,205 segundos) e, finalmente, instruções SIMD e multithreading (181 milissegundos). Cada etapa de otimização é explicada, cobrindo o uso de extensões C, loops C eficientes e utilização de CPU multinúcleo. Embora o multithreading tenha produzido ganhos menores que o esperado, a versão final atingiu uma velocidade de processamento impressionante de 5,52 GiB/s. O autor convida os leitores a sugerir otimizações adicionais.
Leia mais