دفع حدود أنابيب لينكس إلى أقصى حد: من 3.5 جيجابايت/ثانية إلى 62.5 جيجابايت/ثانية

2025-06-22
دفع حدود أنابيب لينكس إلى أقصى حد: من 3.5 جيجابايت/ثانية إلى 62.5 جيجابايت/ثانية

يستكشف هذا المنشور تطبيق أنابيب يونكس في لينكس من خلال تحسين برنامج اختبار بشكل متكرر يكتب ويقرأ البيانات عبر أنبوب. بدءًا من برنامج بسيط يحقق حوالي 3.5 جيجابايت/ثانية من الإنتاجية، يحسن المؤلف أدائه عشرين مرة من خلال عدة مراحل تحسين. تتضمن التحسينات الرئيسية استخدام مكالمات النظام `vmsplice` و `splice` للقضاء على نسخ البيانات، واستخدام الصفحات الضخمة لتقليل تكلفة الصفحات، واستخدام حلقة مشغولة لتقليل تكاليف المزامنة. يتم شرح العملية بالتفصيل مع أمثلة على التعليمات البرمجية وتحليل الأداء باستخدام أداة `perf` من لينكس.

التطوير أنابيب