النجاح بلغة C++: قصة شركة ناشئة سيطرت على سوق الأنظمة عالية التحميل

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

نجاح شركة ناشئة بلغة C++: قصة شركة بُنيت على الأداء



يرتبط عالم الشركات الناشئة بقوة بلغات Python أو JavaScript أو Go - وهي لغات تسمح بإطلاق نموذج أولي قابل للتطبيق (MVP) بسرعة. ومع ذلك، هناك مجالات يصبح فيها اختيار لغة البرمجة مسألة بقاء. يتعلق الأمر بالأنظمة عالية التحميل، ومعالجة البيانات في الوقت الفعلي، والتكنولوجيا المالية. هنا، خلافًا للاتجاهات السائدة، راهنت الشركة الناشئة «DataForge» على لغة C++ ولم تخسر الرهان.



المشكلة: السرعة هي كل شيء



تبدأ القصة في عام 2019. قرر ثلاثة مهندسين من نوفوسيبيرسك إنشاء منصة لتحليل بيانات البورصة في الوقت الفعلي. كان المنافسون يقدمون حلولاً بتأخير يتراوح بين 50-100 مللي ثانية. وضع الفريق هدفًا طموحًا - تقليل التأخير إلى 1 ميكروثانية.



أظهرت النماذج الأولية بلغة Python تأخيرًا يتراوح بين 2-3 مللي ثانية - وهو مؤشر ممتاز للويب، لكنه ليس كافيًا للتداول عالي التردد (HFT). أدرك المؤسسون: لا مفر من استخدام C++.



الحل: إعادة هيكلة كاملة بلغة C++



كان القرار الأساسي هو إعادة صياغة نواة النظام باستخدام C++17 مع التقنيات التالية:



  • هياكل بيانات خالية من القفل (Lock-free) - إزالة أقفال الخيوط، مما أدى إلى زيادة السرعة بمقدار 10 مرات.
  • ملفات معينة بالذاكرة (Memory-mapped files) - العمل مع البيانات مباشرة عبر مساحة عنوان العملية، متجاوزًا استدعاءات النظام.
  • تعليمات SIMD - تنفيذ متجه للعمليات على مصفوفات البيانات.
  • الإدخال/الإخراج غير المتزامن على io_uring - الحد الأدنى من النفقات العامة لعمليات الشبكة.


تجاوزت النتيجة التوقعات: بلغ التأخير النهائي 800 نانوثانية. سمح هذا لـ «DataForge» بالفوز بمناقصة من بنك كبير كان يستخدم سابقًا حلولاً بلغة Java.



لماذا أصبحت C++ ورقتهم الرابحة



على عكس الشركات الناشئة التي تختار لغة Python «السريعة»، راهن الفريق على الأداء طويل الأمد. إليك ما قدمته C++:



  • التحكم في الذاكرة - غياب جامع القمامة (Garbage Collector) استبعد «التجميد» (فترات التوقف في عمل النظام).
  • قابلية النقل - عمل الكود على أنظمة Linux وFreeBSD والأنظمة المدمجة دون تغييرات.
  • مجموعة الأدوات - ساعدت أدوات التحليل مثل perf وValgrind في العثور على نقاط الضعف التي تظل في اللغات عالية المستوى «صندوقًا أسود».


النتيجة والتوسع



بحلول عام 2023، نمت الشركة إلى 50 موظفًا، لتعالج 3 ملايين معاملة في الثانية. قدر المستثمرون متانة البنية التحتية: لم يحدث أي عطل في نظام الإنتاج على مدى عامين. اليوم، «DataForge» هي واحدة من القادة في مجال الخدمات المالية ذات زمن الاستجابة بالميكروثانية، وتعتبر قاعدة الشيفرة الخاصة بها بلغة C++ مرجعية في المجتمع.



الدرس للشركات الناشئة: إذا كان منتجك يتطلب أقصى أداء وزمن استجابة يمكن التنبؤ به - فلا تخف من C++. نعم، التطوير يستغرق وقتًا أطول، لكن النتيجة تؤتي ثمارها بعشرة أضعاف.

المكتبات الموصى بها