Ordenación por Radix supera a las Tablas Hash: Una Batalla de Rendimiento para Contar Valores Únicos

2025-09-11
Ordenación por Radix supera a las Tablas Hash: Una Batalla de Rendimiento para Contar Valores Únicos

En el problema de contar valores únicos en un array grande de uint64s mayormente únicos, el algoritmo de ordenación por radix, cuando está bien ajustado, suele ser más rápido que las tablas hash. Al utilizar el ancho de banda de memoria de manera eficiente y fusionando hábilmente el hash con el proceso de ordenación, la ordenación por radix logra una aceleración de hasta 1,5 veces en comparación con las tablas hash ajustadas para conjuntos de datos superiores a 1 MB, e incluso hasta 4 veces más rápido que las excelentes tablas hash "Swiss Table" de Rust. Sin embargo, el rendimiento de la ordenación por radix disminuye con distribuciones de datos no uniformes; el uso de una función hash invertible preprocesa los datos para mantener la eficiencia. El artículo compara ambos métodos en diferentes tamaños de datos y frecuencias de acceso, y analiza la estrategia para elegir entre ellos en aplicaciones del mundo real.

Desarrollo