Un nuevo algoritmo de Quicksort vectorizado permite acelerar el ordenamiento de datos en bases de datos columnares mediante instrucciones SIMD portables. A diferencia de las implementaciones anteriores, esta solución es compatible con seis conjuntos de instrucciones en tres arquitecturas, incluyendo AVX-2, AVX-512 de Intel y Arm NEON, logrando velocidades de hasta 1123 MB/s en procesadores Intel Skylake y 499 MB/s en Apple M1. El método se basa en la instrucción 'compress-store' para particionar el array, emulándola con instrucciones de permutación cuando no está disponible, lo que elimina la necesidad de reimplementar código específico para cada plataforma. Esta técnica es particularmente relevante para bases de datos columnares, donde el ordenamiento es fundamental para las consultas SQL, y permite alcanzar tasas de ordenamiento de 1 GB/s en un solo núcleo de CPU. La implementación, licenciada bajo Apache 2, soporta entradas de 16 a 128 bits y supera en un factor de 9 a 19 a las versiones estándar de las bibliotecas de programación, ofreciendo una alternativa eficiente para aplicaciones que requieren procesamiento de datos masivo en tiempo real.
