أربع طرق لإيجاد أصغر قيمة (argmin) للأعداد العائمة في Rust (وأدائها)

2025-09-20

يستكشف هذا المقال أربع طرق لإيجاد مؤشر أصغر قيمة بسرعة في مصفوفة كبيرة من الأعداد العائمة في Rust. الطريقة الأولى تستخدم `min_by` و `total_cmp` وتستغرق 511 ميكروثانية؛ والثانية تستخدم `reduce` وتستغرق 489 ميكروثانية؛ والثالثة تستخدم `partial_cmp` وتستغرق 470 ميكروثانية؛ والرابعة تستغل التمثيل الثنائي للأعداد العائمة الموجبة، وتحوّلها إلى `u32` للمقارنة، وتستغرق 370 ميكروثانية فقط - أي زيادة في السرعة بنسبة 30%. تُثبت الطريقة الرابعة فعاليتها القصوى مع المصفوفات التي تحتوي على أعداد موجبة فقط، وذلك من خلال استغلال التمثيل الداخلي للأعداد العائمة بشكل ذكي لتجنب عمليات المقارنة المعقدة.

التطوير