بحث سلسلة فرعية أسرع بنسبة 60% في Zig باستخدام SIMD

2025-08-11
بحث سلسلة فرعية أسرع بنسبة 60% في Zig باستخدام SIMD

تشرح هذه المقالة كيف حقق الكاتب زيادة في سرعة البحث عن السلاسل الفرعية بنسبة 60% تقريبًا في لغة البرمجة Zig باستخدام تعليمات SIMD. تم تنفيذ خوارزمية صديقة لـ SIMD، حيث تم استخراج الحرف الأول والأخير من سلسلة البحث الفرعية، وتم الاستفادة من عمليات المقارنة المتوازية SIMD للحد بشكل كبير من عمليات الوصول إلى الذاكرة. تُظهر اختبارات الأداء انخفاضًا بنسبة 80% في دورات وحدة المعالجة المركزية وتحسينات كبيرة في السرعة، خاصةً مع النصوص الكبيرة. على الرغم من أن المكاسب أقل أهمية مع النصوص الأصغر، إلا أن إمكانات SIMD واضحة. كما تستكشف المقالة اختلافات الأداء مع عمليات اختيار أحرف مختلفة ومجموعات تعليمات SIMD (AVX2 و AVX-512)، وتناقش سبب عدم دمج هذا التحسين في مكتبة Zig القياسية.