Ordenação por Radix supera Tabelas Hash: Uma Batalha de Desempenho para Contar Valores Únicos

2025-09-11
Ordenação por Radix supera Tabelas Hash: Uma Batalha de Desempenho para Contar Valores Únicos

No problema de contar valores únicos em um grande array de uint64s majoritariamente únicos, o algoritmo de ordenação por radix, quando bem ajustado, geralmente é mais rápido do que tabelas hash. Ao usar a largura de banda de memória de forma eficiente e combinando habilmente o hash com o processo de ordenação, a ordenação por radix alcança uma aceleração de até 1,5x em relação às tabelas hash ajustadas para conjuntos de dados maiores que 1 MB, e até 4x mais rápido do que as excelentes tabelas hash Swiss Table do Rust. No entanto, o desempenho da ordenação por radix diminui com distribuições de dados não uniformes; o uso de uma função hash invertível pré-processa os dados para manter a eficiência. O artigo compara ambos os métodos em diferentes tamanhos de dados e frequências de acesso, e discute a estratégia para escolher entre eles em aplicações do mundo real.

Desenvolvimento ordenação por radix