Quatro maneiras de encontrar o argmin de floats em Rust (e seu desempenho)

2025-09-20

Este artigo explora quatro métodos para encontrar rapidamente o índice do valor mínimo em um grande array de números de ponto flutuante em Rust. O primeiro método usa `min_by` e `total_cmp`, levando 511 microssegundos; o segundo usa `reduce`, levando 489 microssegundos; o terceiro usa `partial_cmp`, levando 470 microssegundos; e o quarto utiliza a representação de bits de floats positivos, convertendo-os para `u32` para comparação, levando apenas 370 microssegundos - uma aceleração de 30%. O quarto método se mostra mais eficiente para arrays contendo apenas números positivos, explorando inteligentemente a representação interna dos floats para evitar comparações complexas.

Desenvolvimento