Vier Wege, das Argmin von Gleitkommazahlen in Rust zu finden (und deren Performance)

2025-09-20

Dieser Artikel untersucht vier Methoden, um schnell den Index des minimalen Werts in einem großen Array von Gleitkommazahlen in Rust zu finden. Die erste Methode verwendet `min_by` und `total_cmp` und benötigt 511 Mikrosekunden; die zweite verwendet `reduce` und benötigt 489 Mikrosekunden; die dritte verwendet `partial_cmp` und benötigt 470 Mikrosekunden; und die vierte nutzt die Bitdarstellung positiver Gleitkommazahlen, konvertiert sie in `u32` zum Vergleich und benötigt nur 370 Mikrosekunden – eine Beschleunigung um 30 %. Die vierte Methode erweist sich als die effizienteste für Arrays, die nur positive Zahlen enthalten, indem sie die interne Darstellung von Gleitkommazahlen intelligent ausnutzt, um komplexe Vergleiche zu vermeiden.

Entwicklung