إطار عمل JavaScript الجديد NeoV8 يتفوق على Node.js بـ 3 مرات: ثورة أم ضجة؟

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

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

ابدأ الدورة

إطار عمل جديد لجافا سكريبت يحطم أرقام الأداء القياسية

موسكو، 15 أكتوبر 2020. مجتمع المطورين في حالة من الاضطراب: تم الإعلان عن إطار العمل NeoV8 الذي، وفقًا لمطوريه، يُظهر إنتاجية أعلى بمقدار 3.2 مرة (RPS) عند معالجة طلبات HTTP مقارنةً بـ Node.js 14. LTS القياسي. تُظهر المعايير المنشورة على GitHub 89,000 طلب/ثانية مقابل 28,000 طلب/ثانية للمنافس في تطبيق CRUD بسيط.

يشرح مبتكر الإطار، أليكسي بيلوف (مهندس V8 سابق في Google)، هذا الاختراق بالتخلي عن دورة الأحداث التقليدية (Event Loop) لصالح مخطط غير متزامن يعتمد على io_uring (آلية الإدخال/الإخراج غير المتزامنة في Linux 5.x). "لقد أعدنا كتابة النواة الخاصة بالعمل مع الشبكة ونظام الملفات. بدلاً من انتظار دوال الاسترجاع (callbacks)، يقوم المخطط بتحميل البيانات مسبقًا في المخزن المؤقت، مما يوفر ما يصل إلى 40% من الوقت في تبديل السياق"، صرح بيلوف في مقابلة مع بوابة Habr.

ومع ذلك، يدعو الخبراء إلى الحذر. "الأرقام مثيرة للإعجاب، لكن الاختبارات أجريت على واجهة برمجة تطبيقات اصطناعية (synthetic API) بدون حسابات معقدة. في المشاريع الحقيقية التي تتضمن قواعد بيانات (DB) واستدعاءات خارجية، قد يتقلص الفارق إلى 30-50%"، يعلق نيكيتا بروكوبييف، المطور الرئيسي في Yandex.Cloud. ومع ذلك، فقد أدرج معيار TechEmpower بالفعل NeoV8 في تصنيفه للجولة 20، حيث احتل المركز الرابع بين جميع أطر العمل، متجاوزًا Fastify و Koa.

إطار العمل متوافق تمامًا مع حزم npm، ولكنه يتطلب Node.js ≥ 14.5 ونواة Linux 5.4+. على Windows و macOS، ينخفض الأداء بنسبة 60% بسبب عدم وجود io_uring. الإصدار 1.0 مقرر في ديسمبر 2020، وهو متاح حاليًا بحالة Release Candidate.

السوق يتفاعل بالفعل: قامت الشركة الناشئة DeployNow بدمج NeoV8 في خدمتها الطرفية (edge-service)، معلنة عن انخفاض في تكاليف الخوادم بنسبة 35%. ومع ذلك، فإن الشركات الكبرى مثل Netflix و PayPal لم تعلق بعد على إمكانية الانتقال. يبقى السؤال: هل سيصبح NeoV8 المعيار الجديد أم سيبقى أداة متخصصة لأنظمة التحميل العالي (high-load)؟

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