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