يقوم محرك V8 بتجميع JavaScript إلى رمز الجهاز.فلماذا لا تكون Node.js أسرع من لغة C؟

StackOverflow https://stackoverflow.com/questions/4220333

سؤال

وفق معايير اللغة, تعد JavaScript V8 أسرع من لغات البرمجة الأخرى في برنامج regex-dna.فلماذا تطبيقات Node.js (أي؟خادم http) ليس أسرع من تطبيقات C (أي.إنجينكس، Lighttpd)؟

هل كانت مفيدة؟

المحلول

لأن تطبيقات V8 هي تطبيقات JavaScript. حتى إذا تم تجميع JavaScript أخيرًا إلى رمز الجهاز ، فإن خصائص وقت التشغيل مختلفة.

على سبيل المثال ، إذا اتصلت بوظيفة في كائن ما ولا يحدد هذا الوظيفة ، فيجب أن يحدد وقت التشغيل الوظيفة عن طريق اجتياز التسلسل الهرمي للنموذج الأولي ، يمكن أن يتغير هذا التسلسل الهرمي في أي وقت خلال عمر البرنامج. هناك تحسينات ذكية يمكن القيام بها ولكن مع ذلك.

هناك أيضا نموذج الذاكرة. تم جمع JavaScript القمامة و GC يأخذ دورات وحدة المعالجة المركزية.

نصائح أخرى

لأن خدمة طلبات http تمثل مشكلة مختلفة عن regex-dna.

حقيقة أن A أسرع من B في مهمة واحدة لا توضح شيئًا عما يمكن توقعه من مهمة أخرى.

تشبيه السيارة السيئة الإلزامية:شطيرة لحم الخنزير ألذ بكثير من بورش.لماذا لا يكون أسرع من 0-60؟

بالنسبة لـ C هي اللغة القياسية لسرعة الحساب. إن الشكاوى هذه الأيام جيدة جدًا وتنتج رمزًا آليًا فعالًا للغاية. ما يعنيه هذا هو أن الحد الأعلى للأداء هو ما يمكنك الحصول عليه مع C.

في أحد عروضه حول Node.js Ryan Dahl (الخالق) قالت هذه العقدة أسرع من C. (ولكن GC والأشياء الأخرى لها تأثير على الأداء ، ناهيك عن أن V8 يحتاج إلى وقت لتحسين الأشياء بشكل صحيح)

في هذا المعيار ، يوجد 15 برنامجًا مختلفًا ومعيارًا واحدًا فقط من الحمض النووي-حيث يمكنك رؤية JavaScript V8 أسرع. على المعايير الأخرى ، يكون JavaScript أقل بكثير في الأداء. يمكنك اختيار البرنامج في الاختيار الأول ، انظر إلى هذا.

بالنسبة الى معايير اللغة, ، JavaScript V8 ليس أسرع من برنامج GCC في برنامج Binary Trees.

وفقا لمعايير اللغة ، JavaScript V8 ليس أسرع من GCC في برنامج K-nucleotide.

وفقا لمعايير اللغة ، JavaScript V8 ليس أسرع من GCC في برنامج N-Body.

وفقا لمعايير اللغة ، JavaScript V8 ليس أسرع من مجلس التعاون الخليجي في برنامج Norm Norm.

وفقا لمعايير اللغة ، JavaScript V8 ليس أسرع من مجلس التعاون الخليجي في برنامج FASTA.

وفقا لمعايير اللغة ، JavaScript V8 ليس أسرع من مجلس التعاون الخليجي في برنامج مكتمل العكسي.

وفقا لمعايير اللغة ، JavaScript V8 ليس أسرع من برنامج GCC في برنامج Pidigits.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top