Búsqueda de subcadenas un 60% más rápida en Zig usando SIMD
Este artículo describe cómo el autor logró una aceleración de aproximadamente el 60% en la búsqueda de subcadenas en el lenguaje de programación Zig utilizando instrucciones SIMD. Se implementó un algoritmo compatible con SIMD, extrayendo el primer y el último carácter de la subcadena objetivo y aprovechando las comparaciones paralelas SIMD para reducir significativamente los accesos a la memoria. Los benchmarks muestran una reducción del 80% en los ciclos de CPU y mejoras sustanciales en la velocidad, especialmente con textos grandes. Si bien las ganancias son menos significativas con textos más pequeños, el potencial de SIMD se demuestra claramente. El artículo también explora variaciones en el rendimiento con diferentes selecciones de caracteres y conjuntos de instrucciones SIMD (AVX2, AVX-512), y analiza por qué esta optimización no se integró en la biblioteca estándar de Zig.