تقنية
الترشيح بدون فروع يسرّع ترشيح شرائح الأرقام

المؤلف، greyblake، كان يحسّن مسارًا ساخنًا في كود يرشّح شريحة من الأرقام أكبر من عتبة، وهي مشكلة شائعة في قواعد البيانات. أظهرت المعايير على كمبيوتر محمول Intel i7-10875H مع مليون قيمة f64 عشوائية أن حالة الترشيح بنسبة 50% كانت الأبطأ، على الرغم من نسخ نصف البيانات فقط، لأن الفروع غير المتوقعة تسببت في أخطاء تنبؤ خط الأنابيب في وحدة المعالجة المركزية بتكلفة 15-20 دورة لكل خطأ. جعل فرز الإدخال نفس الكود أسرع، لكن الفرز ليس حلاً عمليًا. بدلاً من ذلك، يكتب النهج بدون فروع دائمًا العنصر ويستخدم نتيجة المقارنة كرقم لتحديد مكان وضعه، محولاً اعتماد التحكم إلى اعتماد بيانات.
تحسنت أسوأ حالة من 3.87 مللي ثانية إلى حوالي 1 مللي ثانية، وأصبح الأداء ثابتًا بغض النظر عن توزيع البيانات. المفاضلة هي أن النسخة بدون فروع تكتب دائمًا، مما قد يزيد من حركة الذاكرة، لكن كسب السرعة كبير.
المصدر: Hacker News