El programador Christof Kaser presenta sort.h, una implementación de Quicksort sin ramas basada en el principio de que los compiladores modernos —especialmente Clang— traducen bucles con operadores condicionales en instrucciones branchless rápidas, siempre que el código fuente esté escrito con el estilo adecuado.
El artículo, difundido en redes técnicas, expone una rareza observada al trabajar en una versión optimizada del algoritmo: cuando la comparación se formula como ((a) < (b)), el compilador puede generar código vectorizado sin saltos que se aprovecha de la predicción del hardware. En cambio, variantes aparentemente equivalentes no producen el mismo efecto, lo que demuestra que el rendimiento depende de decisiones estilísticas casi invisibles para el desarrollador.
La cabecera ofrece un Quicksort completo —con selección de pivote mediante la mediana de cinco elementos, partición branchless con búfer doble y bloques UNROLL de 16 elementos— complementado por una batería de redes de ordenación (sort2 a sort12) y constantes como SMALLPART 1024, SWSZ 512 y UNROLL 16. El proyecto se distribuye bajo licencia MIT.
La propuesta resulta útil para bibliotecas de ordenación de bajo nivel, motores de bases de datos, sistemas de procesamiento numérico o cualquier aplicación que ordene volúmenes elevados de datos en C y requiera minimizar las dependencias de salto. Como contrapartida, exige tipar manualmente los datos y sacrificar legibilidad por eficiencia, por lo que no siempre compensa frente a qsort o a bibliotecas maduras como std::sort.
