Rust에서 부동 소수점 숫자의 argmin을 찾는 네 가지 방법 (그리고 성능)
2025-09-20
이 글에서는 Rust에서 큰 부동 소수점 숫자 배열에서 최솟값의 인덱스를 빠르게 찾는 네 가지 방법을 살펴봅니다. 첫 번째 방법은 `min_by`와 `total_cmp`를 사용하며 511마이크로초가 걸립니다. 두 번째 방법은 `reduce`를 사용하며 489마이크로초가 걸립니다. 세 번째 방법은 `partial_cmp`를 사용하며 470마이크로초가 걸립니다. 네 번째 방법은 양수 부동 소수점 숫자의 비트 표현을 이용하여 `u32`로 변환하여 비교하며, 단 370마이크로초 만에 완료되어 30%의 속도 향상을 달성합니다. 네 번째 방법은 양수만 포함하는 배열에 대해 가장 효율적이며, 부동 소수점 숫자의 내부 표현을 영리하게 이용하여 복잡한 비교를 피합니다.
더 보기
개발