Recherche de sous-chaîne 60% plus rapide dans Zig grâce au SIMD

2025-08-11
Recherche de sous-chaîne 60% plus rapide dans Zig grâce au SIMD

Cet article détaille comment l'auteur a obtenu une accélération d'environ 60% de la recherche de sous-chaînes dans le langage de programmation Zig en utilisant les instructions SIMD. Un algorithme compatible SIMD a été implémenté, extrayant le premier et le dernier caractère de la sous-chaîne cible et tirant parti des comparaisons parallèles SIMD pour réduire significativement les accès à la mémoire. Les benchmarks montrent une réduction de 80% des cycles CPU et des améliorations substantielles de la vitesse, surtout avec des textes volumineux. Bien que les gains soient moins importants avec des textes plus petits, le potentiel du SIMD est clairement démontré. L'article explore également les variations de performances avec différentes sélections de caractères et différents jeux d'instructions SIMD (AVX2, AVX-512), et discute des raisons pour lesquelles cette optimisation n'a pas été intégrée à la bibliothèque standard de Zig.

Développement Recherche de Sous-chaîne