هل تساءلت يومًا عما يحدث تحت الغطاء عند تشغيل JavaScript في متصفحك؟ حسنًا، حان الوقت لنقدم لك V8، المحرك السحري الذي يبعث الحياة في JavaScript. فكر في محرك V8 باعتباره محرك السيارة، فهو المسؤول عن تحويل JavaScript إلى شيء يمكن لجهاز الكمبيوتر الخاص بك فهمه وتشغيله بسلاسة وسرعة.
دعونا نتعمق في كيفية عمل V8، ولكن لا تقلق، سأجعل الأمر ممتعًا وبسيطًا! ?
محرك V8 هو محرك جافا سكريبت مفتوح المصدر تم تطويره بواسطة Google. فهو يشغل Google Chrome والعديد من البيئات الأخرى، مثل Node.js. بشكل أساسي، يأخذ V8 كود JavaScript الخاص بك، ويجمعه في كود الجهاز ، ثم يقوم بتشغيله بسرعة فائقة!
تكتب JS، ويتأكد V8 من أن جهازك يعرف بالضبط ما يجب فعله به.
تحليل الكود الخاص بك. فهو يقسم التعليمات البرمجية الخاصة بك إلى أجزاء صغيرة ومفهومة (تسمى الرموز المميزة) وينشئ شجرة بناء الجملة (AST). تشبه هذه الشجرة خريطة توضح كيفية تنظيم التعليمات البرمجية الخاصة بك.
مثال:let a = 10; let b = 20; let sum = a b;يرى V8 هذا الرمز ويفكر، "حسنًا، أرى متغيرين وعملية جمع."
مترجم الإشعال. يقوم المترجم بمراجعة التعليمات البرمجية الخاصة بك بسرعة ويقوم بتشغيلها كما هي، ولكن ليس بسرعة فائقة حتى الآن! إنه يشبه إجراء اختبار على الكود الخاص بك لمعرفة كيفية عمله.
فكر في الإشعال مثل وضع "التشغيل التجريبي". إنه ينفذ الكودفي الوقت المناسب دون الكثير من التحسين في هذه المرحلة.
الوظائف الساخنة. وهذا يشبه معرفة أي التروس في السيارة يتم استخدامها أكثر أثناء السباق.
إذا تم تنفيذ جزء من التعليمات البرمجية مرارًا وتكرارًا، يضع V8 علامة عليه ويقول، "مرحبًا، هذا الجزء من التعليمات البرمجية يمكن أن يستخدم بعض التحسين الجاد!"
مترجم TurboFan . يشبه TurboFan طاقم الحفرة في السباق، فهو يأخذ الكود الخاص بك ويحسنه من أجل السرعة.
إليك السحر: يقوم TurboFan بتحويل JavaScript الخاص بك إلىرمز الجهاز (الثنائي 0 و 1 الذي يفهمه جهاز الكمبيوتر الخاص بك). يعد رمز الآلة المُحسّن هذا أسرع بكثير مما أنتجته Ignition في البداية.
مثال:
جمع البيانات المهملة، وهي عملية تحرر الذاكرة تلقائيًا من الأشياء التي تريدها لم تعد بحاجة. وهذا يمنع متصفحك أو خادم Node.js من نفاد الذاكرة والتعطل.
يعد جمع البيانات المهملة في V8 أمرًا ذكيًا - فهو لا يؤدي فقط إلى التخلص من الأشياء بشكل عشوائي. ويستخدم تقنيات مثلmark-and-sweep لتتبع البيانات غير المستخدمة وإزالتها بعناية.
التجميع في الوقت المناسب (JIT). وهذا يعني أنه بدلاً من تجميع JavaScript قبل تشغيله (مثل العديد من اللغات الأخرى)، يقوم V8 بتجميع التعليمات البرمجية الخاصة بك أثناء أثناء تشغيله، مما يمنحه زيادة كبيرة في السرعة في الوقت الفعلي!
let a = 10; let b = 20; let sum = a b;إليك ما يحدث تحت غطاء المحرك في محرك V8:
لذا، في كل مرة تقوم فيها بتشغيل JavaScript في Chrome أو Node.js، فاعلم أن V8 يعمل بجد خلف الكواليس، حيث يقوم بتفسير التعليمات البرمجية وتحسينها وإدارتها - مما يضمن تشغيل تطبيقاتك بسرعة وكفاءة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3